我在索引页面上有一个链接到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' %>
他们都没有工作。 这样做的最佳方式是什么?
答案 0 :(得分:1)
使用第二个选项尝试在AssignmentsController中设置实例变量。
@user_id = params[:user_id]
然后您需要在表单中指定默认值
<%= f.input :user_id, collection: User.all.collect, selected: @user_id %>
您不需要使用简单表单as: :select
。