【问题标题】:content_for with <% or <%=?content_for 带有 <% 或 <%=?
【发布时间】:2012-01-20 23:48:30
【问题描述】:

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

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

Rails 文档对此有歧义!

【问题讨论】:

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


    【解决方案1】:

    根据文档示例(http://api.rubyonrails.org/classes/ActionView/Helpers/CaptureHelper.html)&lt;%= content_for :xyz%&gt; 用于发出标记的存储块,而&lt;% content_for :xyz%&gt; 用于声明存储块标记。

    所以它应该看起来像这样(例如 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 %>
    

    【讨论】:

      【解决方案2】:

      应该是&lt;%= content_for :xyz do %&gt;

      【讨论】:

        【解决方案3】:

        您可以将&lt;%= %&gt; 视为插入,将&lt;% %&gt; 视为计算

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

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

        【讨论】:

        • 这根本不能回答问题。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-06-06
        • 2022-08-22
        • 2011-08-03
        • 1970-01-01
        • 1970-01-01
        • 2011-08-20
        • 1970-01-01
        相关资源
        最近更新 更多