我遇到了一些理论问题。
我有一个名为Promos的模型,我还有一个名为Categories的模型。
我希望管理员能够创建用户将在下拉列表中选择的集合类别以分配促销。所以Promos将属于一个类别,但是赋值应该在创建中发生。
推荐的结构是什么?
答案 0 :(得分:0)
用户has_many一个促销,属于一个类别。 一个类别has_many promos。
如:
class User < Activerecord::Base
has_many :promos
class Promo < Activerecord::Base
belongs_to :user
belongs_to :category
class Category < Activerecord::Base
has_many :promos
答案 1 :(得分:0)
确保每个促销都有类别:
class Category < ActiveRecord::Base
has_many :promos
end
class Promo < ActiveRecord::Base
belongs_to :category
validates_association_of :category
end
如何在促销创建时设置类别
promo = Promo.new(:category => @category)
就表格而言:
<% form_for :promo do |f| %>
<%= f.collection_select :category_id, Category.all, :id, :name, :prompt => "Choose a category" %>
...
Other promo fields
...
<% end %>
匹配控制器代码:
class PromosController < ActionController
def create
@promo = Promo.create(params[:promo])
...
redirect or render whether @promo was successfully created
...
end
end