初めての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のドキュメントを確認してください。そのレイアウトメソッドの条件を使用して、いくつかの複雑なことができます。