Rails 3 Поля формы, не передающие параметры - PullRequest
0 голосов
/ 10 июня 2011

Я создаю административный раздел для приложения, в котором я работаю, в котором перечислены предприятия. Администраторы могут затем войти и отправить адрес электронной почты и активировать бизнес. Поэтому я использую 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 таких форм, по одной для каждой строки в таблице.

По какой-то причине проблема заключается в том, что параметр "email" не публикуется, просто business_id (из пути).

Есть ли что-то, что я делаю не так? Разве вы не должны создавать несколько похожих форм, используя блок?

Любой совет будет высоко ценится.

Спасибо!

1 Ответ

0 голосов
/ 10 июня 2011

Я понял это. кажется, что большинство браузеров не передадут параметры формы, если они не внутри <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>
...