0

私は Rails の初心者で、Devise で最初の Rails 3 アプリを作成しようとしています。私のサイトのほとんどすべてがユーザーに固有のものであるという状況があります。私は、すべての画像がユーザーに属し、ユーザーが多くの画像を持っているように、公開されていない一種のプライベート ギャラリーを作成しています。これが私の問題です...ユーザーの画像を表示するためにURLにユーザーIDが必要ないように、ルートを作り直したいと思います。user/show ルートでユーザーの画像を表示します。

現在のルート (rake:routes から):

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

「リソース」ではなく「リソース」のみをデバイスに使用させることは可能ですか? /users/show/? 私は理にかなっていますか?質問する用語はわかりませんが、ユーザーのすべての機能が、ユーザーが誰であるかを知っていることを意味するようにしたいので、コントローラーでそれを確認できます。

ありがとう!

4

1 に答える 1

1

コントローラーで、show アクションに対して次のようにします。

def show
    @user = current_user
end

それはあなたがする必要があるすべてです。ID を期待していた場合は、 のようなことを行います@user = User.find(params[:id]が、必要なユーザー (この場合は、current_userDevise によって公開されている ) がわかっているため、特別なことをする必要はありません。

于 2011-03-17T20:14:25.247 に答える