rails 4中的虚拟属性

我如何在rails 4中使用虚拟属性(getter,setter),因为’attr_accessible’被删除了。

我在这里遇到问题

def tags_list @tags = self.tags.collect(&:name).join(', ') end 

在尝试更新/创建时,我可以达到上述方法,但无法达到下面的setter。

  def tags_list=(tags) @tags = tags end 

在Rails 4中使用虚拟属性与使用attr_accessible几乎相同。 您只需将虚拟属性添加到控制器中允许的参数(而不是attr_accessible),然后像往常一样在模型中添加getter和setter方法。

 # your_controller.rb private def your_model_params params.require(:your_model_name).permit(:tags_list) end