我有一个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帖子和其他许多人似乎都说了这一点。我无法让它工作。
我做错了什么?任何答案都要感谢。费利克斯
发布于 2011-07-07 05:57:42
Rails对from_param一无所知--那篇博文手动调用了它( Model.from_param(params[:id]) )。如果你只是调用Contact.find('fred'),那是行不通的,它会把'fred‘转换成一个整数(0),然后搜索那个id。
https://stackoverflow.com/questions/6603516
复制相似问题