我是Rails的新手,我正试图用Devise推出我的第一个Rails 3应用程序。我的情况是,我网站上的所有内容都是针对用户的。我正在创建一种不面向公众的私人画廊,因此每个图像都属于用户和用户has_many图像。这是我的问题...我想修改我的路线,以便显示用户图像不需要URL中的用户ID。我将在用户/节目路线中显示用户的图像。
当前路线(来自rake:routes):
/users/show(.:format) {:action=>"show", :controller=>"users"}
是否可以设计仅使用“资源”而不是“资源”?所以这将是/ users / show /?我有道理吗?我不确定要问的术语,但我希望所有用户的功能都暗示我知道用户是谁,然后我可以在控制器中检查它。
谢谢!
答案 0 :(得分:1)
在你的控制器中,对于show动作:
def show
@user = current_user
end
这就是你需要做的一切。如果你期望一个id,那么你会做类似@user = User.find(params[:id]
的事情,但是因为你知道你想要什么用户(在这种情况下,由{Devise)公开的current_user
,你不需要做任何特别的事。