Rails 3 - CASE声明有什么问题?

时间:2010-09-30 05:16:37

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

<% @feed.each do |feed| %>

    <ul id="feed">

        <%= 
            case feed.action_type
            when "COMMENT"
                <%= render :partial => "feeds/storyitem" -%>,
            end
        %>
    </ul>
<% end %>

2 个答案:

答案 0 :(得分:0)

你不能像这样嵌套ERB标签 - 当你已经进入ERB时,你试图插入render... ERB标签。如果这是你真正想做的,试试这个:

<% @feed.each do |feed| %>

    <ul id="feed">
        <% case feed.action_type
        when "COMMENT" %>
            <%= render :partial => "feeds/storyitem" -%>,
        <% end %>
    </ul>
<% end %>

但除非你简化了在此发布的代码示例,否则<% if %>看起来更清晰。

答案 1 :(得分:-1)

好的想通了:

<% @feed.each do |feed| %>

    <ul id="feed">

        <%= 
            case feed.action_type
            when "COMMENT"
                render :partial => "feeds/storyitem"
            end
        %>
    </ul>
<% end %>

不需要渲染部分

周围的&lt;%