монгоид, set_table_name и attr_accessible

Я использую rails3 edge и mongoid 2beta6 с ruby ​​1.9.2-head.

Как я могу вручную изменить имя таблицы, как set_table_name для ActiveRecord? Например, моя модель Signup должна использовать для хранения таблицу «пользователи», а не «регистрации».

Другой вопрос: как реализовать поведение attr_accessible AR?

Спасибо, Корин


person gucki    schedule 19.05.2010    source источник


Ответы (3)


Довольно просто :)

Изменять:

class Pictures
  self.collection_name = 'photos'
end

To:

class Pictures
   store_in collection: 'photos'
end

Источник: https://docs.mongodb.com/mongoid/current/tutorials/mongoid-documents/#storage

person Thomas R. Koll    schedule 24.05.2010
comment
Mongoid теперь также предоставляет store_in, например: store_in :photos, который принимает хэш параметров. mongoid.org/docs/documents.html - person Dan Healy; 16.10.2011
comment
Ссылка выше изменена на: docs.mongodb.com/mongoid/current /учебники/монгоид-документы/ - person mltsy; 24.10.2018

С монгоидом, насколько я знаю, attr_accessible игнорируется. Только атрибуты, которые вы объявляете с помощью field, будут сохранены, однако, если они передаются как атрибут, вы можете использовать attr_accessor, чтобы убедиться, что они не будут сохраняться (обычно :пароль в качестве примера).

Алекс

person Alex    schedule 13.01.2011

Ссылка, упомянутая Дэном Хили, была изменена на http://mongoid.org/en/mongoid/docs/documents.html.

person Fernando Kosh    schedule 08.04.2013