Я работаю над приложением ActiveAdmin с этими моделями:
Пользователь
class User < ActiveRecord::Base
# A User has many roles for interact on a project
has_many :roles, :dependent => :destroy
has_many :projects, :through => :role
end
Роль
class Role < ActiveRecord::Base
belongs_to :user
belongs_to :project
end
Проект
class Project < ActiveRecord::Base
# A project has many roles for interact
has_many :roles, :dependent => :destroy
has_many :users, :through => :role
accepts_nested_attributes_for :roles
end
Чтобы добавить пользователей с ролью в каждом проекте, я делаю эту форму:
form do |f|
f.inputs "Details" do # Project's fields
f.input :title
f.input :code
end
f.has_many :roles do |app_f|
app_f.inputs do
if !app_f.object.nil?
app_f.input :_destroy, :as => :boolean, :label => "Destroy?"
end
app_f.input :user
app_f.input :senior_author
end
end
f.buttons
end
Мой первый вопрос: как я могу сделать с user.firstname + user.lastname. На самом деле у меня есть что-то вроде этого:
#<User:0x007fb98a7d6568>
Второй вопрос: моя ролевая модель представляет собой список логических атрибутов:
:senior_author
:first_author
:viewer
....
Могу ли я сделать с этим?