acts_as_followers 和 friendly_id 宝石未找到 ID
acts_as_followers and friendly_id gems not finding id
我正在使用 acts_as_follower gem and friendly_id gem。
我设置了 acts_as_follower 并且一切正常,我可以按照要求进行 Profiles
。但现在我添加了 friendly_id
gem 以将配置文件 url 显示为 profile/myname
而不是 profile/1
.
但是现在 acts_as_follower
gem 不起作用,找不到要遵循的配置文件 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 是友好的 url name
另外,新的 friendly_id 版本需要我找到这样的配置文件:
def set_story
@profile = Profile.friendly.find(params[:id])
end
在您的控制器中,您需要将其更改为
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
那么这应该可以工作
我正在使用 acts_as_follower gem and friendly_id gem。
我设置了 acts_as_follower 并且一切正常,我可以按照要求进行 Profiles
。但现在我添加了 friendly_id
gem 以将配置文件 url 显示为 profile/myname
而不是 profile/1
.
但是现在 acts_as_follower
gem 不起作用,找不到要遵循的配置文件 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 是友好的 url name
另外,新的 friendly_id 版本需要我找到这样的配置文件:
def set_story
@profile = Profile.friendly.find(params[:id])
end
在您的控制器中,您需要将其更改为
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
那么这应该可以工作