在我的.html.erb文件中,我有很多信息要显示。我用一个简单的方法完成了这个:(使用蓝图css)
<% for event in @user.events %>
<div class="span-5 border">Descriptor:</div> <div class="span-5 last"><%=h event.foo%></div><br/>
<% end %>
我怎样才能这样做,以便我可以调用一些能够呈现信息部分的函数,并且我只传递Descriptor(一个字符串文字)和事件的方法(在这种情况下为“foo”)。
我是rails的新手,我认为这可以使用部分渲染来完成,但我并不完全确定。
由于
答案 0 :(得分:1)
render :partial => 'event', :collection => @user.events, :locals => {:descriptor => 'descriptor', :method => 'foo'}
如果您使用的是最新版本的rails,则此速记版本也可以使用:
render @user.events, :locals => {:descriptor => 'descriptor', :method => 'foo'}
在你的部分
<div class="span-5 border"><%= descriptor -%></div> <div class="span-5 last"><%=h event.send(method) %></div><br/>
答案 1 :(得分:0)
您可以使用partials。 它的优点在于它使代码DRY。也可以通过Ajax回调替换特定的div。 在文件名上保存带有前缀'_'的部分,如_test.rhtml
render :partial => 'test', :layout => false