/ / cssまたはjavascriptをレイアウト外のerbに含める方法-ruby-on-rails、view、erb

レイアウトの外側にあるerbにcssまたはjavascriptを含める方法 - ルビーオンレール、ビュー、erb

初めてのRailsアプリを書いているので、少しばかりの質問をしてすみません。

レイアウトビューのアイデアは得られましたが、それらを使用している場合、ビュー固有のjsまたはcssファイルを含める方法はありますか?たとえば、私は layouts/products.html.erb、および products/edit.html.erb が欲しいです products_edit.css、しかし、「すべての製品ビューにそのCSSが必要なわけではありません。それを達成するためのベストプラクティスは何ですか?」

回答:

回答№1のための47

汎用のedit.cssファイルがある場合、レイアウトにifを提案します

<%= stylesheet_link_tag "edit" if params[:action] == "edit" %>

それ以外の場合は、 content_for とともに yield 追加のタグをヘッドに追加します。

layout.html.erb

<head>
...
<%= yield(:header) if @content_for_header %>
</head>

products/edit.html.erb

<% content_for :header do -%>
<%= stylesheet_link_tag "edit_product" %>
<% end -%>

回答№2の10

次のような方法で、レイアウトのヘッドタグ内にスタイルシートタグを追加できます。

layouts / products.html.erb:


<head> ... <%=収率:css%> ... </ head>

products / edit.html.erb


<%content_for:css do stylesheet_link_tag "products_edit" 終了%>


回答№3の-7

できません </head> タグはレイアウト内にあります。

そのコントローラーアクションに異なるレイアウトが必要な場合があります。レンダリングでは次のようになります。

 render :action => "index", :layout => "some_other_layout

また、コントローラークラスの次の行を使用して、コントローラー全体に異なるデフォルトレイアウトを設定できます。

layout "some_other_layout"

APIのドキュメントを確認してください。そのレイアウトメソッドの条件を使用して、いくつかの複雑なことができます。