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 (请参阅标记为“添加最喜欢的示例”的提交更改)。

主要有两点(根据你的情况):

= 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 回答