Attr_reader活动记录模型属性


Article.rb < ActiveRecord::Base   
... 
attr_reader :title
def title
    self.title.gsub(/"/," ")
end
end

我正在尝试覆盖每个文章标题的显示方式,因为如果我不这样做,它看起来很丑,但我不断收到这样的错误:

SystemStackError in ArticlesController#index or StackLevelTooDeep

我不确定如何解决这个问题。如果我将方法更改为其他方法,例如 ntitle,它将起作用。为什么?!

当你在里面调用self.titledef title它会调用自己,所以你会得到无限递归,它会导致错误StackLevelTooDeep

这应该有效:

class Article < ActiveRecord::Base
  ...
  def title
    read_attribute(:title).to_s.gsub(?", " ")
  end
end

相关内容

  • 没有找到相关文章

最新更新