2012-03-16 7 views
0

以前私は複数のチェックボックスを持つform_tagでcheck_box_tagを使用していました。これは["student"、 "teacher"]のようなパラメータで配列を返しました。私は、コントローラ内の関数を作成し、parameters.Theパラメータを使用して、それらを共有するユーザーが表示されるために記事を計算していますcheck_boxタグがform_forを使用しているときに空の配列の場所を返しています

user_type=>["student","teacher"] 

のように見える。しかし、私は使用していますので、今、私はタグをのform_forに移行しています異なるモデルと私は適切な形式でパラメータが欲しい。今渡されたparamsがここに私のチェックボックスコード

<% User::OPEN_USER_TYPES.each do |type|%> 
<div class="radio-check-group <%='hide-group' if container == "my-contribution" %>"> 
      <div class="control"><%= f.check_box(:user_type,{:multiple => true},type,nil)%></div> 
      <div class="label"><%= f.label(:user_type,type,:value=>type)-%></div> 
</div> 

<% end %> 

filter_obj=>{user_type=>["","",""student,"teacher"]} 

ように見える形」は、教師をfilter_obj => {USER_TYPE => [「学生」のようなパラメータを渡すように方法はあります"]}。コントローラのアレイをクリーニングするための余分な処理をしたくありません。

答えて

1

私はあなたが:user_typemethod nameが必要だと思う:

f.check_box(:user_type,[method_name],{:multiple => true},type,nil) #method name might be 'occupation' 

はその助けをしていますか?

1

check_boxを使用する方法がわかりません。あなたは代わりにcheck_boxのを使用することができますが、それはnightf0x..what @check_box

<% User::OPEN_USER_TYPES.each do |type|%> 
    <div class="radio-check-group <%='hide-group' if container == "my-contribution" %>"> 
     <div class="control"> 
      <%= check_box_tag "filter_obj[user_type][]", type, @filter_obj.user_type.to_a.include?(type) %> 
     </div> 
     <div class="label"> 
      <%= f.label(:user_type,type,:value=>type)-%> 
     </div> 
    </div> 
<% end %> 
+0

uがそれをunacceptなかった私のanswer..whyが間違っているためであるとして、それは、エレガントではないでしょうか? – rubyprince

関連する問題