Здравствуйте как правильно добавить категории к проектам
Мне нужно чтобы при созданий проекта я мог выбрать категорию, а потом сортировать проекты по категориям
на данный момент я сделал так:
class CreateCategories < ActiveRecord::Migration
def change
create_table :categories do |t|
t.string :name
t.integer :user_id
t.timestamps
end
add_index :categories, :user_id
end
end
class CreateProjects < ActiveRecord::Migration
def change
create_table :projects do |t|
t.integer :user_id
t.string :title
t.text :description
t.belongs_to :category
t.timestamps
end
add_index :projects, [:user_id, :category_id, :created_at]
end
end
class Category < ActiveRecord::Base
attr_accessible :name
has_many :products
belongs_to :user
validates :user_id, presence: true
end
class Project < ActiveRecord::Base
attr_accessible :description, :title, :category_id
belongs_to :user, touch: true
belongs_to :category
validates :user_id, presence: true
validates :category_id, presence: true
end
<%= form_for(@project) do |f| %>
<fieldset>
<%= f.label :Title %>
<%= f.text_field :title, class: 'span12' %>
<%= f.label :Description %>
<%= f.text_area :description, class: 'span12' %>
<%= f.label :category_id %>
<%= f.collection_select :category_id, Category.order(:name), :id, :name, class: 'span12' %>
<%= f.submit 'Save', disable_with: '...', class: 'btn btn-default' %>
</fieldset>
<% end %>
На сколько это правильно и как сделать сортировку проектов по категориям?
Буду очень признателен если поможете