rol*_*usa 6 ruby-on-rails partials ruby-on-rails-3
我正在使用ruby在rails上创建一个应用程序,其中有一个项目/ _item.html.erb.partial内部是一个yield语句,所以我可以根据需要添加额外的内容.在这种情况下,我想根据视图调用部分向项目添加特定按钮.
这是我试过的,它渲染部分,但它不渲染块:
_item.html.erb
<%= yield if block_given? %>
<div>
<%= item.name %>
</div>
Run Code Online (Sandbox Code Playgroud)
someview.html.erb
...
<% render(:partial => 'items/item', :collection => current_user.items do %>
<%= "HELLO" %>
<% end %>
...
Run Code Online (Sandbox Code Playgroud)
我也尝试过使用content_for和其他一些东西但没有成功.有没有办法能够在部分通过收益率内呈现特定内容?我目前正在使用Rails3
编辑:
我发现它是:集合哈希使得无法插入块.
这两段代码都有效:
<%= render :layout => 'items/item' do %>
Hello world
<% end %>
<%= render :layout => 'items/item', :locals => {:item => current_user.items.first} do %>
Hello world
<% end %>
Run Code Online (Sandbox Code Playgroud)
这意味着如果我做了一个.我可以完成我想要的东西,但这将是丑陋的代码.有人知道解决这个问题吗?
content_for在这种情况下应该可以正常工作。这是我刚刚在本地仔细检查的代码。
某处.html.erb
<% content_for :foobar do %>
fubar
<% end %>
Run Code Online (Sandbox Code Playgroud)
_item.html.erb
<% if content_for? :foobar %>
<%= yield :foobar %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5987 次 |
| 最近记录: |