0

我的视图/用户/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>

如何将此代码重新用于应用程序中的所有其他模型?

4

2 回答 2

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} %>
于 2014-05-30T11:32:48.617 回答
0

您可以将其移动到部分布局并将变量作为本地变量传递。请注意,部分名称必须以“_”开头,例如:_actions.html.erb

然后从代码中渲染部分并传递当地人。

<%= render partial: "actions", locals: {user: @user} %>
于 2014-05-30T11:31:58.353 回答