Условный рендеринг в Ruby on Rails - PullRequest
0 голосов
/ 25 марта 2012

Можно ли сделать какую-то часть шаблона, если это определенная страница веб-сайта? Или также возможно включить определенные javascripts в макет application.html.erb, если это определенная страница?

Ответы [ 2 ]

3 голосов
/ 25 марта 2012

Возможно content_for может помочь вам.

Например:

layout.html.erb

...
<head>
  <%= yield :scripts %>
</head>
...
<%= yield %>

view.html.erb

...
<% content_for :scripts do %>
  <script>..</script>
<% end %>
...
1 голос
/ 25 марта 2012

В качестве дополнения к тому, что сказал Railscard, я обычно делаю это:

В макете:

<%= stylesheet_link_tag content_for?(:stylesheets) ? yield(:stylesheets) : "application", :debug => Rails.env.development? %>

Тогда внутри вида

<% content_for :stylesheets %> my_view.js <% end %>

Таким образом, вам нужно только установить content_for, если есть что-то особенное, что вы хотите изменить файл верхнего уровня, загруженный из звездочек.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...