我围绕这个话题开了几个问题,每当我尝试一些方法时,我都会去另一个兔子洞。
我想知道的是,是否可以根据集合中的某些值对对象连接属性集合进行排序?
例如,在我的代码编辑操作中,我有
def edit
Size.all.each do |size|
unless @cake.sizes.exists?(size.id)
@cake.cake_details.build(size_id: size.id, price: nil)
end
end
@cake_details_collection = @cake.cake_details.order(:size_id)
end
我想对它进行排序,因为构建的记录最后添加到表单中,然后它会使表单看起来不一致和混乱。
我上面提到的原因是,在更新操作中,当取消选中复选框并将text_field留空时,我会删除任何关联。
这是与上述相关的表格部分:
<div class="field">
<%= form.fields_for :cake_details do |details| %>
<%= details.check_box :size_id, {}, details.object.size_id %><br />
<%= details.text_field :price %><br />
<% end %>
到目前为止,其他所有内容都在用于销毁父对象和创建。我差不多在那里还是一百万英里之外?
答案 0 :(得分:0)
进展!所以我不知道我可以在下面的表格中对字段进行排序
<div class="field">
<%= form.fields_for :cake_details, @cake.cake_details.sort_by(&:size_id) do |details| %>
<%= details.check_box :size_id, {}, details.object.size_id %><br />
<%= details.text_field :price %><br />
<% end %>