2012-03-04 2 views
0

Поскольку можно определить attr_accesible с ролью attr_accessible :name, :as => :admin, как я могу получить все атрибуты attr_accesible в представлении для определенной роли?Как я могу получить атрибуты attr_accesible в представлении?

С помощью этой информации можно будет указать нестандартную форму представления.

http://apidock.com/rails/ActiveModel/MassAssignmentSecurity/ClassMethods/attr_accessible

ответ

2

Предполагая, что имя вашей модели является Foo, используйте accessible_attributes:

Foo.accessible_attributes(:admin).to_a 
+0

да, спасибо. поддерживается ли это «официальное»? – tonymarschall

+0

@tonymarschall Я изначально следовал [как они устанавливаются] (https://github.com/rails/rails/blob/a1b9acb72ec4b3a3d11f77efe64effb79e58b45d/activemodel/lib/active_model/mass_assignment_security.rb#L172) и используя это в качестве основы для как получить к ним доступ, но на самом деле есть документированный метод, который делает это тоже без префикса подчеркивания. Я обновил свой вопрос и ссылку на документы. (Так как это задокументировано, да, это «официальный» ':)') –