Max*_*xxx 26 ruby-on-rails view switch-statement
我想在我看来写一个开关盒:
<% @prods.each_with_index do |prod, index|%>
<% case index %>
<% when 0 %><%= image_tag("#{prod.img}", :id => "one") %>
<% when 1 %><%= image_tag("#{prod.img}", :id => "two") %>
<% when 2 %><%= image_tag("#{prod.img}", :id => "three") %>
<% end %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
但它不起作用.我必须<% end %>
在每行添加一个地方吗?有任何想法吗 ?谢谢 !
fl0*_*00r 61
你应该把你的第一个拉到when
同一个街区case
<% @prods.each_with_index do |prod, index|%>
<% case index
when 0 %><%= image_tag prod.img, :id => "one") %>
<% when 1 %><%= image_tag prod.img, :id => "two") %>
<% when 2 %><%= image_tag prod.img, :id => "three") %>
<% end %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
bea*_*nie 19
不要在你的观点中加入太多逻辑.
我会添加一个帮手
def humanize_number(number)
humanized_numbers = {"0" => "zero", "1" => "one"}
humanized_numbers[number.to_s]
end
Run Code Online (Sandbox Code Playgroud)
你可以从视图中调用它
<%= image_tag("#{prod.img}", :id => humanized_number(index)) %>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
14192 次 |
最近记录: |