Rails 3表单字段不提交参数

时间:2011-06-10 02:57:42

标签: ruby-on-rails ruby-on-rails-3 forms params

我正在为我正在工作的应用列出企业的应用程序构建管理部分。然后,管理员可以进入并提交电子邮件地址并激活业务。所以我在一个块中使用了一个form_tag:

<% for business in @businesses %>   
<tr>
    <td align="center" class="border-table"><%= business.id %></td>
    <td align="center" class="border-table"><%= business.name %></td>
    <td align="center" class="border-table"><%= business.address %></td>
    <td align="center" class="border-table"><%= business.phone %></td>
    <% @user = User.new %>
    <%= form_tag "/businesses/activate?business_id=#{business.id}", :remote => true, :method => :put do %>
        <td align="center" class="border-table" id="<%= business.id %>_email"><%= text_field_tag "email", nil, :placeholder => "email" %></td>
        <td align="center" class="border-table" id="<%= business.id %>_activate"><%= submit_tag "Activate" %></td>
    <% end %>
  </tr>
<% end %>

因此,在给定的管理页面上,有25个这样的表单,每个表格对应一行。

问题是,无论出于何种原因,“电子邮件”参数都没有发布,只有business_id(来自路径)。

我做错了吗?您不应该使用块生成多个类似的表单吗?

非常感谢任何建议。

谢谢!

1 个答案:

答案 0 :(得分:-1)

我明白了。似乎大多数浏览器都不会传递表单的参数,除非它在<td>内部如此:

<td align="center" class="border-table" id="<%= rep.id %>_email">
  <%= form_tag activate_rep_path(rep.id), :remote => true do %>
  <%= text_field_tag "email", nil, :placeholder => "email", :index => rep.id %></td>
<td align="center" class="border-table" id="<%= rep.id %>_activate">
  <%= submit_tag "Activate" %>
  <% end %>
</td>