在ruby中,如何创建一个具有选项哈希的方法,并且我可以将符号传递给它?

时间:2010-12-17 02:38:18

标签: ruby-on-rails ruby

在我的文章模型(rails 3)中,我想创建一个带参数的方法。

所以我可以这样做:

Article.get_by_id(:cache => true, :cache_expire => some_date)

我想重复使用此参数,我该怎么做?

参数是选项的哈希值,我想在我的许多控制器方法中使用它。

2 个答案:

答案 0 :(得分:2)

您可以在文章模型中添加以下方法

self.get_by_id(options = {}) 
cache = options['cache']
end

现在可以使用选项哈希访问发送到上述方法的参数。即,options ['cache']和options ['cache_expired']。

答案 1 :(得分:0)

你的意思是这样吗?

custom_options = { :cache => true, :cache_expire => some_date }
Article.get_by_id(custom_options)

如果我没有收到你,我很抱歉,但你的问题很简短。