rails通过路径找到

时间:2011-08-24 14:52:16

标签: ruby-on-rails-3 activerecord

也许我没有在正确的关键词上搜索,但是:是否可以搜索给定的对象路径?

我有'/ business / 2'并且我只想做像@object = Business.find('/ business / 2')这样的东西来获取该对象

一种方法是:

ids = params[:who_id].split('/')
@object = ids[1].singularize.constantize.find(ids[2])

但我想知道是否有内置方式,因为在我看来这是很正常的事情。

1 个答案:

答案 0 :(得分:0)

如果您知道id将是字符串中的最后一个,那么您可以将字符串拆分为"/"并获取最后一个元素。如果您不确定,可以使用regexp

如果您还想根据字符串中的内容执行搜索(您不知道类名),请使用regexp匹配模型名称,然后使用这些帮助程序: http://api.rubyonrails.org/classes/ActiveSupport/Inflector.html 得到一个班级的名字。

像:

klass = _yor_extracted_string.singularize.constantize
object = klass.find(_id_here_)