2017-08-03 88 views
0

我只是添加friendly_id来美化我的网址。Friendl_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帮助

回答

0

的问题是我如何调用PARAMS我发现

的answser是

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

,而不是

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

您可以使用:

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

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

这#find_by可以散列作为的情况下,输入您正在使用散列参数。