【问题标题】:Using Devise with a singular Resource将设计与单一资源一起使用
【发布时间】:2011-03-17 20:02:52
【问题描述】:

我是 Rails 的新手,正在尝试使用 Devise 开发我的第一个 Rails 3 应用程序。我有一种情况,我网站上的几乎所有内容都是特定于用户的。我正在创建一种不面向公众的私人画廊,以便每个图像都属于一个用户并且一个用户拥有多个图像。这是我的问题...我想修改我的路线,以便显示用户图像不需要 URL 中的用户 ID。我将在 user/show 路径中显示用户的图像。

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

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

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

谢谢!

【问题讨论】:

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


    【解决方案1】:

    在您的控制器中,对于显示操作:

    def show
        @user = current_user
    end
    

    这就是你需要做的。如果您期望一个 id,那么您可以执行 @user = User.find(params[:id] 之类的操作,但是由于您知道您想要什么用户(在这种情况下,是由 Devise 公开的 current_user),您不需要做任何特别的事情.

    【讨论】:

    • 确认。太明显了!出于某种原因,我认为如果路线需要一条错误消息,我会收到错误消息。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2017-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多