Чтобы каждая акция имела категорию:
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