而不是标准节目,编辑,删除,我的观点/ users / index.html.erb中有以下内容
<td>
<%= link_to user, class: 'btn btn-default' do %>
<span class="glyphicon glyphicon-search"></span>
<% end %>
</td>
<td>
<%= link_to edit_user_path(user), class: 'btn btn-default' do %>
<span class="glyphicon glyphicon-pencil"></span>
<% end %>
</td>
<td>
<%= link_to user, method: :delete, data: { confirm: 'Are you sure?' }, class: 'btn btn-danger' do %>
<span class="glyphicon glyphicon-remove"></span>
<% end %>
</td>
如何在应用中的所有其他模型中重复使用此代码?
答案 0 :(得分:5)
创建layouts/_toolbox.html.rb
部分并在其中放置以下修改后的版本:
<td>
<%= link_to my_model, class: 'btn btn-default' do %>
<span class="glyphicon glyphicon-search">See me</span>
<% end %>
</td>
<td>
<%= link_to [:edit, my_model], class: 'btn btn-default' do %>
<span class="glyphicon glyphicon-pencil">Edit me</span>
<% end %>
</td>
<td>
<%= link_to my_model, method: :delete, data: { confirm: 'Are you sure?' }, class: 'btn btn-danger' do %>
<span class="glyphicon glyphicon-remove">Destroy me</span>
<% end %>
</td>
然后你可以用它:
<%= render partial: "layouts/toolbox", locals: {my_model: model_instance} %>
答案 1 :(得分:0)
您可以将其移动到部分布局并将变量作为本地传递。 请注意,部分名称必须以“_”开头,例如:_actions.html.erb
然后从代码中渲染部分并传递本地。
<%= render partial: "actions", locals: {user: @user} %>