Ruby on rails Rails多选默认值
我正在编写一个脚本,允许管理员为用户分配多种语言 我的multi-select工作方式如下:Ruby on rails Rails多选默认值,ruby-on-rails,Ruby On Rails,我正在编写一个脚本,允许管理员为用户分配多种语言 我的multi-select工作方式如下: <%= fields_for :users_languages do |u| %> <div class="field"> <%= @lang_list.inspect %> <%= u.label :Assign_Languages %><br /> <%=
<%= fields_for :users_languages do |u| %>
<div class="field">
<%= @lang_list.inspect %>
<%= u.label :Assign_Languages %><br />
<%= select_tag :language_id, options_for_select(Language.all.collect {|lang| [lang.english, lang.id]}),:multiple => true, :prompt => 'Select Language' %>
</div>
<% end %>
true,:prompt=>“选择语言”%>
但当我进入编辑用户时,他们的语言不会显示为自动选择。我该怎么做呢?通过执行以下操作来解决这个问题: 控制器:
def edit
@user = User.find(params[:id])
@users_langs = UsersLanguage.where("user_id = ?", params[:id])
@lang_list = []
@users_langs.each do |langs|
@lang_list << langs.language_id
end
end
def编辑
@user=user.find(参数[:id])
@users\u langs=UsersLanguage.where(“user\u id=?”,参数[:id])
@语言列表=[]
@每个用户都有自己的语言|
@语言列表“选择语言”%>
希望这对别人有帮助 我在谷歌搜索之前做了同样的事情,看看是否有更好的方法,因为RubyMine抱怨实例变量的数量:p
<%= fields_for :users_languages do |u| %>
<div class="field">
<%= u.label :Assign_Languages %><br />
<%= select_tag :language_id, options_for_select(Language.all.collect {|lang| [lang.english, lang.id]}, @lang_list),:multiple => true, :prompt => 'Select Language' %>
</div>
<% end %>