0

楷模:

产品.rb:

class Product < ActiveRecord::Base
  attr_accessible :cat_id, :id, :name
  belongs_to :category
end

类别.rb:

class Category < ActiveRecord::Base
  attr_accessible :id, :name
  has_many :products
end

路线:

路线.rb

resources :categories do
  resources :products
end

我想将产品添加到类别中。在控制器和产品视图中写什么请帮忙!请!!我是rails的初学者!

4

2 回答 2

0

如果你想要一个下拉菜单:

_file.html.haml

  = label_tag :Category
   = select_tag "product[category_id]", options_from_collection_for_select(@categories, :id,:name,@selected = @product[:category_id] :include_blank => true

products_controller.rb:

before_filter :get_categories, :only => [:new,:edit]


def get_categories
   @categories = Category.all
end
于 2013-07-25T10:05:45.937 回答
0

你可以如下图所示,

如果您的路径(网址)应该是这样http://loaclhost:3000/category/1/produts,请使用您的网址中的 id 参数

将类别 ID 传递到产品视图 form.erb

<%= f.hidden_field :cat_id , :value => <pass catogory id from routes url> %>

然后按照通常的创建方法(请检查对象是否创建了 cat_id)

现在,您可以从产品的 cat_id 访问类别值。

希望它会有用。

于 2013-07-25T09:17:46.573 回答