rails列出包括设计在内的多个项目的所有项目

时间:2013-06-27 05:43:52

标签: ruby-on-rails ruby-on-rails-4

所以我有以下型号: 图像:

class Image < ActiveRecord::Base
  has_many :product_images
  has_many :products, :through => :product_images
  attr_accessible :asset, :name, :description, :product_ids, :file_content_type, :is_boolean
  accepts_nested_attributes_for :product_images
  has_attached_file :asset
end

ProductImage:

class ProductImage < ActiveRecord::Base
  belongs_to :product
  belongs_to :image
  attr_accessible :is_thumbnail
end

和产品:

class Product < ActiveRecord::Base
has_many :images, :through => :product_images
has_many :product_images
attr_accessible :name, :description, :thumbnail, :searchTerms, :group_ids, :upload_file_ids

现在,我想在图像表单上执行的操作是显示所有产品的复选框,然后显示is_thumbnail属性的另一个复选框 我已经看过使用simple_fields_for,但只有在已经添加产品时才会显示。有没有办法做到这一点?

<%= f.simple_fields_for(:product_images) do |builder| %>
  <%= builder.input :is_thumbnail %>
  <%= builder.association :products, include_blank: false %>
<% end %>

1 个答案:

答案 0 :(得分:0)

我对simple_fields不是很熟悉,但基于实例的构建表单输入只允许您“表示”该实例。

这意味着您可以使用

打印所有已关联的产品

builder.association :products

但是如果你想打印数据库中的所有产品,你需要获取它们,循环并在表单中显示它们。