1

我在索引页面上有一个链接到 new_assignment_path 的按钮

<% @users.each do |user| %>
<tr>
  <td><%= link_to user.name, user %></td>
<td><%= link_to 'Assign to Class', new_assignment_path, :class => 'btn btn-mini' %></td>
</tr>
<% end %>

我想要它,以便当您单击它时,它会将您带到 new_assignment_path,并在该页面表单上进行下拉选择。

<%= simple_form_for(@assignment) do |f| %>
 <%= f.error_notification %>

  <div class="form-inputs">
<%= f.input :user_id, collection: User.all.collect, as: :select %>
 </div>

  <div class="form-actions">
  <%= f.button :submit %>
  </div>
<% end %>

并让下拉菜单自动设置为按钮所在用户的 user.id。

<%= link_to 'Assign to Project', new_assignment_path(@assignment, :user_id => user.id), :class => 'btn btn-mini' %>

<%= link_to 'Assign to Project', new_assignment_path(:user_id => user.id), :class => 'btn btn-mini' %>

他们都没有工作。这样做的最佳方法是什么?

4

1 回答 1

1

使用第二个选项尝试在 AssignmentsController 中设置实例变量。

@user_id = params[:user_id]

然后你需要在表单中指定默认值

<%= f.input :user_id, collection: User.all.collect, selected: @user_id %>

你不需要as: :select简单的形式。

于 2013-08-15T11:39:58.803 回答