了解to_param from_param

时间:2011-07-06 21:52:31

标签: ruby-on-rails

我有一个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帖子以及许多其他人似乎都说明了这一点。我无法让这个工作。

我做错了什么? 谢谢任何答案。 菲利克斯

1 个答案:

答案 0 :(得分:1)

Rails对from_param一无所知 - 该博客文章是手动调用它(Model.from_param(params[:id]) )。如果您只是调用Contact.find('fred'),那将无效,它将转换为'fred '到一个整数(0),并搜索该id。