1

車のモデルがあり、複数の写真があるRailsプロジェクトがあります。車の詳細と写真をすべて同時に入力できるように、ネストされたフォームを作成しました。ギャラリーに表示する画像をラジオボタンで選択したいと思います。

 %table
    = simple_form_for [@car] :html => {:multipart => true} do |f|
        = f.error_messages 
        = f.input :make
        = f.input :model
        = f.input :engine
        = f.input :price

        = f.simple_fields_for :car_pictures do |builder|
            .picture
                = builder.input :caption
                = builder.input :picture
                .thumb= image_tag builder.object.picture(:thumb)

        = f.button :submit

「fields_for」セクションのラジオ ボタンを使用してデフォルト/メイン画像を選択することはできますか? それとももっと良い方法がありますか?

アップデート

fields_for の下に以下を配置すると、すべてのラジオ ボタンが独立して動作しますが、これは私が望んでいるものではありません。

= builder.radio_button(:favourite, "test")

各ラジオ ボタンには一意の名前が付けられます。

アップデート

object_id を値として使用した場合、create メソッドでこれをリンクするにはどうすればよいでしょうか?

= f.radio_button(:favourite_pic, builder.object_id)
4

2 に答える 2

1

はい、あなたの最後の推測は正しかったです。顧客がお気に入りの写真を選択できるテスト アプリケーションを作成しました: https://github.com/eicca/attrs_test (「追加されたお気に入りの例」でマークされたコミットの変更を参照してください)。

主なポイントは 2 つあります (状況に応じて)。

= f.radio_button(:favorite_pic_id, builder.object.id)

#models/car
has_one :favorite_pic, :class_name => "CarPicture"

favorite_pic_idそして、テーブルにフィールドを追加する必要がありcarsます。

于 2012-05-24T12:47:07.750 に答える
0

なぜだめですか?:) 選択したラジオ ボタンのみがサーバーに送信されます。したがって、やらなければならないことは、適切な名前/値を付けて、一括割り当てをサポートするためのアクセサーがあることを確認することだけです。

于 2012-05-17T15:27:16.340 に答える