我有一个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)
答案 0 :(得分: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
字段。
答案 1 :(得分:0)
为什么不呢? :)只有选中的单选按钮才会被发送到服务器。所以,你唯一需要做的就是给它正确的名称/值,并确保你有一个访问器来支持批量分配。