content_for с <% или <% =? - PullRequest
       1

content_for с <% или <% =?

3 голосов
/ 21 января 2012

Простой вопрос здесь. Содержание должно быть:

<%= content_for :xyz do %>
or
<% content_for :xyz do %>

Документация по Rails неоднозначна!

Ответы [ 3 ]

2 голосов
/ 21 января 2012

В соответствии с примером документации (http://api.rubyonrails.org/classes/ActionView/Helpers/CaptureHelper.html) <%= content_for :xyz%> используется для выдачи сохраненного блока разметки, в то время как <% content_for :xyz%> используется для объявления сохраненного блока разметки.

Таким образом, это должно выглядеть следующим образом (например,фрагмент app / views / home / index.html.erb):

<% content_for :my_block do %>
    <h1>I'm header</h1>
<% end %>

и где-то в другом шаблоне (например, фрагмент app / views / layouts / application.html.erb):

<%= content_for :my_block %>
1 голос
/ 21 января 2012

Вы можете думать о <%= %> как о вставке, а <% %> как о вычислении

Так что в файле erb вы можете сделать что-то вроде:

<% follower_count = current_user.followers.count %>
<%= follower_count %>
1 голос
/ 21 января 2012

должно быть <%= content_for :xyz do %>.

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