问题
How can I use virtual attributes(getter, setter) in rails 4, as 'attr_accessible' removed.
I am getting issue, here
def tags_list
@tags = self.tags.collect(&:name).join(', ')
end
I can reach above method, but not able to reach setter below, when trying to update/create.
def tags_list=(tags)
@tags = tags
end
回答1:
Using virtual attributes in Rails 4 pretty much the same as with attr_accessible. You just have to add your virtual attribute to the permitted params in your controller (instead of attr_accessible), then add the getter and setter methods as usual in your model.
# your_controller.rb
private
def your_model_params
params.require(:your_model_name).permit(:tags_list)
end
来源:https://stackoverflow.com/questions/16109118/virtual-attributes-in-rails-4