问题
This answer says you can do object.attribute_names
to get a list of attribute names for a model instance.
But is there any way to get a list of all its accessible attribute names?
回答1:
You can use accessible_attributes.
You have to provide a role, because different roles can have different accessible attributes.
If you want to have the attributes from a model instance you can use this code:
@my_model.class.accessible_attributes(:admin) # Returns array of symbols
来源:https://stackoverflow.com/questions/14568694/how-can-you-discover-accessible-attribute-names-from-a-model-instance