从submit_tag传递参数

use*_*138 4 ruby-on-rails ruby-on-rails-3

我有下表,每个都有编辑按钮.如何检测单击了哪个"编辑"按钮?

<table width="50%" border="1" height="50%" style='position:relative'><font color = "black">
    <tr>

    <th>SkillSet ID</th>
    <th>SkillSet Name</th>
    <th></th>
    </tr>

    <% for skt in @skillset %>
    <tr>

        <td><%= skt.SkillSetID%></td>
        <td><%= skt.SkillSetName%></td>

        <td><%= submit_tag "Edit"-%></td>
    </tr>
    <% end %>
    </font></table>
    <br>

    </td>
    </div>
    <%end%>
Run Code Online (Sandbox Code Playgroud)

Mat*_*ani 20

您可以使用namesubmit_tag方法的选项:

<%= submit_tag "Edit", :name => "edit[#{skt.id}]" %>
Run Code Online (Sandbox Code Playgroud)

然后在您的控制器中,您可以检查内部的键params["edit"],您应该在哪里找到类似的内容(skt.id) => ''

或者,您可以添加一个hidden_field来跟踪skt您正在编辑的ID .


rus*_*lan 5

您可以使用类型为“提交”的 button_tag。

<%= button_tag 'Edit', value: skt.id, type: :submit, name: :edit %>
Run Code Online (Sandbox Code Playgroud)

这将生成带有标签“编辑”的按钮,其值为 skt.id