新学 Rails,正在实现一个博客。之前一直默认 post 的 id 作为其 url,现在欲实现自定义 url。
先在 post 表里增加 slug 字段,后在 post model 里增加以下代码:
def self.find(slug)
find_by_slug(slug)
end
def to_param
slug
end
现在新建的 post 能实现 CRUD,而之前没有 slug 的 post 不能 CRUD。
想到的思路是如果通过 slug 找不到 post 再通过 id 寻找。求大家指导,谢谢!
Update: 最终的方法是
def self.find(slug)
slug.to_i == 0 ? find_by_slug(slug) : super
end
def to_param
slug ? slug : id
end
再次谢谢大家的回复!