2013-05-12 5 views
0

Если у меня есть модель пользователя и статьи с ассоциацией has_many: articles и belongs_to: user, я бы написал user.articles.new, чтобы создать новый объект статьи с правильным user_id.
Так что мой вопрос о модели со многими belongs_to отношений:
Создайте объект с несколькими ассоциациями

class Ownership < ActiveRecord::Base 
      attr_accessible :right_read, :right_create, :right_update, :right_delete 

      belongs_to :element 
      belongs_to :user 
      belongs_to :ownership_type 
    end 

Есть ли решение создать объект собственности с 3 идентификаторами завершена (ELEMENT_ID, user_id, ownership_type_id)?
И опасно ли писать эти идентификаторы в «attr_accessible»? Спасибо.

ответ

1

Метод new принимает хэш, где ключи соответствуют атрибутам в модели. Это должно работать нормально:

Ownership.new(:element_id => element_id, :user_id => user_id, :ownership_type_id => ownership_type_id) 

Ссылка: http://apidock.com/rails/ActiveRecord/Base/new/class

Кроме того, нет, это не опасно включать эти атрибуты под attr_accessible - на самом деле, это единственный способ, которым Вы сможете напрямую записать их используют new или update_attributes.