首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails4应用模型

Rails4应用模型
EN

Stack Overflow用户
提问于 2014-03-21 07:20:09
回答 2查看 117关注 0票数 0

我在我的很多模型中都使用了以下功能。我使用MongoID作为MongoDB包装器

代码语言:javascript
复制
def make_slug
  self.slug = self.name.downcase.gsub(/[^a-z1-9]+/, '').chomp('')
end

这是最好的地方放置它比复制和粘贴它在我的所有模型。

也有推荐一个好的鼻涕虫宝石为Rails4?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-21 07:47:45

我想你可以做一个混音/模块,在你需要这个功能的模型中包含它。如下所示:

模块示例:

代码语言:javascript
复制
module SlugMaker
  def make_slug
    # Do your magic here
  end
end

然后把它包含在你的模型中:

代码语言:javascript
复制
class SuperAwesomeModel
  include SlugMaker

  def some_action
     make_slug
  end
end 
票数 1
EN

Stack Overflow用户

发布于 2014-03-21 07:25:59

所有模型都是从ActiveRecord继承而来的,您可以打开本征类在那里添加一个单例方法,并在所有模型中使用。

我要选择的方法是将它放在lib目录下,并在我需要的每个模型中要求它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22552615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档