content_for with<%或<%=?

时间:2012-01-20 23:48:30

标签: ruby-on-rails ruby-on-rails-3

这里的简单问题。内容应该是:

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

Rails文档在这方面含糊不清!

3 个答案:

答案 0 :(得分:2)

根据文档示例(http://api.rubyonrails.org/classes/ActionView/Helpers/CaptureHelper.html) <%= content_for :xyz%>用于发出存储的标记块,而<% content_for :xyz%>用于<% content_for :my_block do %> <h1>I'm header</h1> <% end %> 声明存储的标记块。

所以看起来应该是这样的(例如app / views / home / index.html.erb片段):

<%= content_for :my_block %>

在另一个模板的某个地方(例如app / views / layouts / application.html.erb片段):

{{1}}

答案 1 :(得分:1)

应为<%= content_for :xyz do %>

答案 2 :(得分:1)

您可以将<%= %>视为插入,将<% %>视为计算

因此,在erb文件中,您可能会执行以下操作:

<% follower_count = current_user.followers.count %>
<%= follower_count %>