我正在使用acts_as_follower gem和friendly_id gem。
我设置了acts_as_follower,一切正常,我可以根据需要关注Profiles
。但现在我添加了friendly_id
gem来将个人资料网址显示为profile/myname
而不是profile/1
。
但是现在acts_as_follower
宝石不起作用,它无法找到要遵循的个人资料ID:
这是我现在尝试的设置,但这仍然不起作用。
def follow
@profile = Profile.find(params[:profile_id])
current_user.follow(@profile)
redirect_to :back
end
def unfollow
@profile = Profile.find(params[:profile_id])
current_user.stop_following(@profile)
redirect_to :back
end
之前:
@profile = Profile.find(params[:id])
我得到的错误是:
Couldn't find Profile with 'id'=
正在传递的参数是:
{"id"=>"gurmukh-singh"}
它正在寻找的ID是友好的网址name
另外,新的friendly_id版本要求我找到这样的个人资料:
def set_story
@profile = Profile.friendly.find(params[:id])
end
答案 0 :(得分:1)
需要将其更改为
def follow
@profile = Profile.friendly.find(params[:id])
current_user.follow(@profile)
redirect_to :back
end
def unfollow
@profile = Profile.friendly.find(params[:id])
current_user.stop_following(@profile)
redirect_to :back
end
然后这应该工作