私のレールフォームでは、複数選択タグを使用しています
コードは次のようになります
<%= select_tag '[mycontroller][users]', @users, { :multiple => true, :size => 7} %>
<p><%= submit_tag l(:button_apply)%></p>
フォーム送信時に渡されるパラメータは
mycontroller[users][]=79&mycontroller[users][]=80&commit=Apply
私のビューファイルでは、パラメータを取得すると文字列に変換されるため、[79,80] が "7980" に変換されます。
ユーザーパラメータを取得するコードは次のようになります
users = params[:mycontroller][:users] unless params[:mycontroller].nil?
編集:
問題は、「#{}」が配列を文字列に変換することだと思います。<%= %> でも to_s を呼び出します
では、これをオーバーライドするにはどうすればよいでしょうか。to_s が「7980」ではなく「79,80」を返すように
私は何が欠けていますか?コメントをお願いします。
サンクス。