使用具有单一资源的Devise

时间:2011-03-17 20:02:53

标签: ruby-on-rails-3 devise singular

我是Rails的新手,我正试图用Devise推出我的第一个Rails 3应用程序。我的情况是,我网站上的所有内容都是针对用户的。我正在创建一种不面向公众的私人画廊,因此每个图像都属于用户和用户has_many图像。这是我的问题...我想修改我的路线,以便显示用户图像不需要URL中的用户ID。我将在用户/节目路线中显示用户的图像。

当前路线(来自rake:routes):

/users/show(.:format)   {:action=>"show", :controller=>"users"}

是否可以设计仅使用“资源”而不是“资源”?所以这将是/ users / show /?我有道理吗?我不确定要问的术语,但我希望所有用户的功能都暗示我知道用户是谁,然后我可以在控制器中检查它。

谢谢!

1 个答案:

答案 0 :(得分:1)

在你的控制器中,对于show动作:

def show
    @user = current_user
end

这就是你需要做的一切。如果你期望一个id,那么你会做类似@user = User.find(params[:id]的事情,但是因为你知道你想要什么用户(在这种情况下,由{Devise)公开的current_user,你不需要做任何特别的事。