Должен ли я всегда использовать форму в табличном интерфейсе в Rails? - PullRequest
0 голосов
/ 25 октября 2010

У меня есть список пользователей, которые запросили доступ к моему приложению.

Они появляются в таблице внутри представления:

<table>
    <thead>
        <th>Company</th>
        <th>First Name</th>
        <th>Last Name</th>
        <th>Email</th>
        <th>Role</th>
        <th>Action</th>
    </thead>
    <% for ar in @brand.access_requests %>
        <% user = ar.user %>
        <tr id="user_<%= user.id %>">
            <td><%= user.company %></td>
            <td><%= user.first_name %></td>
            <td><%= user.last_name %></td>
            <td><%= user.email %></td>
            <td><%= collection_select :role, :id, Role.all, :id, :name %></td>
            <td><%= link_to "Create", brand_responsibilities_path(@brand), { :remote => true, :method => :post } %></td>
        </tr>
    <% end %>
</table>

Итак, я хочу назначить Роль каждому пользователю, а затем одобрить этого пользователя.

Очевидно, это не работает, потому что я не знаю, как ссылаться на поле "role_id" из моего link_to.

Как включить значение из другого поля в моем link_to? Есть ли способ сделать «: с» или что-то в этом роде? Я хочу передать все, что выбрано в поле выбора:

brand_responsibilities_path(@brand)

Я знаю, что это сработало бы, если бы я создал форму для каждой отдельной строки, но это излишество или Rails Way? Любая помощь очень ценится.

1 Ответ

1 голос
/ 25 октября 2010

Я бы определенно использовал форму. Единственный способ, который приходит мне в голову, это сделать с помощью ссылки с помощью javascript. Очевидно, когда вы делаете link_to: method =>: post, Rails создает форму с помощью javascript !. Так что я думаю, что использование этой формы определенно чище:

<% form_for user do |f| %>
  <%= f.collection_select :role_id, Role.all, :id, :name %>
<% end %>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...