0

我的应用中有 2 个模型。一个 Shopping_list 和一个产品

购物清单可以包含许多产品,一个产品可以是许多购物清单的一部分。

购物清单——

class Shopping_list
  include Mongoid::Document
  field :name, :type => String
  has_and_belongs_to_many :products
end

和产品

class Product
  include Mongoid::Document
  field :name, :type => String
  has_and_belongs_to_many :shopping_lists
end

如果用户访问 /shopping_list/some_id/edit 我希望他们看到 -

a) The name of the product in a text box
b) A series of checkboxes listing all of the products that they can check to add to that list.
c) A submit button.

我的控制器看起来像这样

def edit
  @shopping_list = Shopping_list.find(params[:id])
  render :action => 'edit'
end

我的观点看起来像这样

<%= simple_form_for(@shopping_list) do |f| %>
    <%= f.input :name %>
    <%= f.input :articles, :as => :check_boxes %> #I know this is completely wrong. What do I do to fix?
    <%= f.button :submit %>
<% end %>

这根本不起作用,我有点难过。在使用 Mongoid 时不确定如何进行。

建议表示赞赏。

4

1 回答 1

0

尝试这个

<%= simple_form_for(@shopping_list) do |f| %>
   <%= f.input :name %>
   <%= f.association :products,:collection => @shopping_list.products.collect{ |p| [p.name, p.id] }, :as => :check_boxes %>
   <%= f.button :submit %>
<% end %>
于 2012-09-24T13:59:19.217 回答