将条件方法(或属性?)附加到rails模型

时间:2010-09-24 15:24:35

标签: ruby-on-rails model friendly-id

我正在使用friendly_id插件为我的一些模型生成SEO友好的URL。

目前,我有一个具有两个属性的模型:name和display_name。

基本上,首选display_name,但如果为空,则模型将恢复为name。 Friendly_id需要一个字段来基于以下URL:

Class Market < ActiveRecord::Base
  has_friendly_id :name
end

我如何实现看起来(逻辑上)像这样的东西:

Class Market < ActiveRecord::Base
  if self.display_name
    has_friendly_id :display_name
  else
    has_friendly_id :name
  end
end

谢谢!

1 个答案:

答案 0 :(得分:2)

也许是这样的?

Class Market < ActiveRecord::Base
  has_friendly_id :friendly_name

  def friendly_name
    self.display_name || self.name
  end
end