24

ビューに次のコードがあります

<%= f.input :role_names, as: :check_boxes, collection: @program.role_names %>

フォームを送信するたびに、次のような値を取得していますが、次のような["admin, "moderator", ""]ものを期待していましたが["admin, "moderator"]、これはなぜですか?

さらに、検査要素を作成し<input name="user[role_names][]" type="hidden" value="">、同じコントロール グループ内の最後のチェック ボックスの後にタグがありました。これは の最後に追加されていると思いますparams[:user][:recipient_role_names]

これをどのように処理すればよいですか?できることはわかっていますreject(&:blank?)が、よりクリーンな方法はありparams[:user][:recipient_role_names]ますか?入力要素が追加される理由も知りたいですか? それは単純な形のバグですか、それとも何か間違ったことをしましたか?

他の情報:

  1. simple_form gem バージョン: 2.0.4
  2. レールのバージョン: 3.2.8
4

2 に答える 2

22

Railsの機能です。Rails 4 で無効にすることができます。これについては、単純なフォームの問題 #603Railsの問題 #5402で詳しく読むことができます。

于 2012-12-27T11:53:17.110 に答える