10

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

我遇到问题,在这里

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

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

  def tags_list=(tags)
    @tags = tags
  end
4

1 回答 1

13

在 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
于 2013-07-03T22:47:59.397 回答