未找到Friendl_id记录

时间:2017-08-03 15:47:19

标签: ruby-on-rails url friendly-id

我只需添加friendly_id来美化我的网址。

我收到错误

      Couldn't find User with 'id'={:id=>"foo"}

这是我的设置

User.rb

class User < ApplicationRecord

 extend FriendlyId
 friendly_id :last_name, use: %i[slugged finders]

Users_controller.rb

def find_user
  @user = User.friendly.find(id: params[:id])
end

我将此添加到我的用户表

add_column :users, :slug,                   :string
add_index :users,  :slug,                   unique: true

已正确生成CreateFriendlyIdSlugs表

我在这个问题上遇到了麻烦,我发现所有文档都没有,我无法看到代码失败的地方

thx for help

2 个答案:

答案 0 :(得分:2)

您可以使用:

User.friendly.find(params[:id])

User.friendly.find_by(id: params[:id])

这个#find_by可以将哈希作为输入,以防你使用哈希参数。

答案 1 :(得分:0)

问题是我如何在我的发现中调用params

答案是

@user = User.friendly.find(params[:id])

而不是

@user = User.friendly.find(id: params[:id])