Ruby on rails 在新嵌套属性窗体中使用单选按钮选择默认图片

Ruby on rails 在新嵌套属性窗体中使用单选按钮选择默认图片,ruby-on-rails,Ruby On Rails,我有一个Rails项目,它有一个汽车模型和多张图片。我已经创建了一个嵌套表单,这样我可以同时输入汽车的详细信息和图片。我想要一个单选按钮来选择要在多媒体资料中显示的图片 %table = simple_form_for [@car] :html => {:multipart => true} do |f| = f.error_messages = f.input :make = f.input :model

我有一个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
是否可以使用“字段”部分中的单选按钮选择默认/主图片?还是有更好的办法

更新

通过将以下内容放在字段_下,所有单选按钮都可以独立工作,这不是我想要的

= builder.radio_button(:favourite, "test")
每个单选按钮都有一个唯一的名称

更新

如果我使用object_id作为值,我将如何在create方法中链接它呢

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

为什么不呢?:)只有选定的单选按钮才会发送到服务器。所以,你们唯一要做的就是给它起一个合适的名字/值,并确保你们有一个访问器来支持批量分配。

为什么不呢?:)只有选定的单选按钮才会发送到服务器。所以,你要做的唯一一件事就是给它取一个合适的名称/值,并确保你有一个访问器来支持批量分配。

是的,你最后的猜测是正确的。我制作了一个测试应用程序,客户可以在其中选择一张最喜欢的照片:(请参阅“added favorite example”标记的提交更改)

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


您需要将
favorite\u pic\u id
字段添加到
cars
表中。

是的,您最后的猜测是正确的。我制作了一个测试应用程序,客户可以在其中选择一张最喜欢的照片:(请参阅“added favorite example”标记的提交更改)

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


您需要将
收藏夹pic\u id
字段添加到您的
cars
表中。

如果我在字段中为部分添加一个单选按钮,它们就不是同一组的一部分。如果我在字段中为部分添加一个单选按钮,它们就不是同一组的一部分。我不是必须在车型上使用“属于”吗?例如:归属于:汽车图片,:外键=>:收藏的汽车图片\u i如果您不想这样做,您不一定要这样做:
car\u picture->car
以获取汽车,其中该图片是收藏的。在这种情况下,您必须将
has_one
添加到
CarPicture
和一些其他声明中。我的示例仅用于关联:
car.favorite\u pic
。我使用的是
has_one
而不是
allown_to
,因为我认为这有助于更清楚地理解,在这种情况下,它是一对一的关联。但我想这是品味的问题。对不起,拼写错误)我不是必须在车型上使用“属于”吗?例如:归属于:汽车图片,:外键=>:收藏的汽车图片\u i如果您不想这样做,您不一定要这样做:
car\u picture->car
以获取汽车,其中该图片是收藏的。在这种情况下,您必须将
has_one
添加到
CarPicture
和一些其他声明中。我的示例仅用于关联:
car.favorite\u pic
。我使用的是
has_one
而不是
allown_to
,因为我认为这有助于更清楚地理解,在这种情况下,它是一对一的关联。但我想这是品味的问题。抱歉拼写错误)
= f.radio_button(:favorite_pic_id, builder.object.id)
#models/car
has_one :favorite_pic, :class_name => "CarPicture"