2012-02-06 8 views
4

私はRails 3.2.1アプリケーションを作成していますが、私は単一のアクションビューのために入れたいJavaScriptコードをいくつか持っています。単にjqueryプラグインを呼び出してカウントダウンを開始しますが、私はそれをコーヒースクリプトで書きたいので、資産パイプラインがこれを行う正しいツールだと感じます。アクション固有のアセットパイプラインアイテムを追加するにはどうすればよいですか?

また、@questionのようなコントローラによって渡された変数にアクセスする必要があります。 どうすればいいですか?私はcoffeebeansの宝石を調べましたが、それは:remote=>trueのフォームとリンクでしか動作しません。

+0

これをチェックしてください:http://stackoverflow.com/questions/8566129/how-to-namespace-our-js-for-use-with-the-rails-asset-pipeline/8568208#8568208 –

+0

アクセス中可変部分には、それのためのrailscastがあります。 [データをJavascriptに渡す](http://railscasts.com/episodes/324-passing-data-to-javascript) =) –

答えて

1

問題はさまざまな方法で解決できます。あなたのlayout -fileで

module ApplicationHelper 
    def include_related_asset(asset) 
    #   v-----{Change this} 
     if !YourApp::Application.assets.find_asset(asset).nil? 
      case asset.split('.')[-1] 
       when 'js' 
        javascript_include_tag asset 
       when 'css' 
        stylesheet_link_tag asset 
      end 
     end 
    end 
end 
  • コールヘルパーメソッド:

    追加資産を動的に

    は、我々のアプリケーションヘルパーに次のメソッドを追加します

    <%= include_related_asset(params[:controller].to_param + '_' + params[:action].to_param . 'js') %> 
    
  • あなたのコントロールのための特定の資産を作成するよりゆるやかな行動。 E. controller_action.js

  • 使用yield

    1. <%= yield :head%>

    2. レイアウトの頭に追加し、あなたの行動のビューからあなたの資産を含める:

      <% content_for :head do %> 
      <%= javascript_include_tag 'controller_action' %> 
      <% end %> 
      

    を参照してください。 210を参照してください。あなたのJavaScriptにコントローラデータを渡すことに


    、あなたができる:

    <%= javascript_tag do %> 
         window.error_message = '<%= j error_message %>'; 
        <% end %> 
    

    詳細についてRailCast Episode #324を参照してください。

    関連する問題