【问题标题】:Attaching conditional methods(or attributes?) to a rails model将条件方法(或属性?)附加到 Rails 模型
【发布时间】:2010-09-24 15:24:35
【问题描述】:

我正在使用 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

谢谢!

【问题讨论】:

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


    【解决方案1】:

    也许是这样的?

    Class Market < ActiveRecord::Base
      has_friendly_id :friendly_name
    
      def friendly_name
        self.display_name || self.name
      end
    end
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-14
    • 2016-06-12
    • 2011-05-12
    • 1970-01-01
    相关资源
    最近更新 更多