我想要一个多选框.选择框将包含数据库中的所有商店,但将选择用户所属的商店.
我已经到了一半.我有一个选择框,其中包含数据库中的所有商店.我无法选择用户所属的那些.
我有以下内容:
<%= select_tag 'stores[]', options_for_select(@stores.map {|s| [s.store_name, s.store_id]},
:selected => @user.stores.map {|j| [j.store_name, j.store_id]}), :multiple => true, :size =>
10 %>
Run Code Online (Sandbox Code Playgroud)
我有一个地图,其中包含用户所属的商店.它在:
@user.stores
Run Code Online (Sandbox Code Playgroud) 我有这样的形式:
<form accept-charset="UTF-8" action="/contracts/<%= params[:id] %>/addConsultants" method="POST" id="updateConsultants"><!---->
<div style="margin:0;padding:0;display:inline">
<input name="utf8" type="hidden" value="?">
<input name="authenticity_token" type="hidden" value="<%= session[:_csrf_token] %>">
</div>
<div class="consultant_selector">
<h2>Consultants</h2>
<select name="consultants_available" size="10" multiple>
<% @users.each do |u| %>
<option value="<%= u[:id_user] %>"><%= u[:name] %></option>
<% end %>
</select>
<ul>
<li class="triangle_right" id="add_consultant"></li>
<li class="triangle_left" id="remove_consultant"></li>
</ul>
<select name="consultants_selected" size="10" multiple>
</select>
</div>
<div>
<input type="submit" value="Mettre à jour" />
</div>
</form>
Run Code Online (Sandbox Code Playgroud)
在我的控制器中:
def add_consultants
@contract = Contract.find(params[:id])
@consultants = params[:consultants_selected];
puts "------ Consultants: #{@consultants}"
redirect_to …Run Code Online (Sandbox Code Playgroud)