我有一个Rails 3简单的脚手架应用程序,有一个这样的模型:
class Contact < ActiveRecord::Base
def to_param
self.firstname
end
def self.from_param param
self.where(firstname: param).first
end
end
据我所知,关于from_param,一切都应该好像从未定义to_param。但它不起作用。 Rails仍在发布这个SQL:
SELECT "contacts".* FROM "contacts" WHERE "contacts"."id" = 0 LIMIT 1
当我尝试显示/编辑第一个条目时。
我想知道from_param是否有任何影响? This帖子以及许多其他人似乎都说明了这一点。我无法让这个工作。
我做错了什么? 谢谢任何答案。 菲利克斯
答案 0 :(得分:1)
Rails对from_param一无所知 - 该博客文章是手动调用它(Model.from_param(params[:id]) )
。如果您只是调用Contact.find('fred')
,那将无效,它将转换为'fred '到一个整数(0),并搜索该id。