単一の「表示」アクションであるデバイスと別のコントローラー (ユーザー) による認証
class UsersController < ApplicationController
#before_filter :authenticate_user!
def show
@user = User.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.xml { render :xml => @user }
end
end
end
これまでのところ、ビュー (users/show.html.erb) には、アクセスしたプロファイルのユーザー名のみが表示されます
<%= @user.username %>
ルーティングも:
resources :users
これらのプロフィール ページへのリンクを取得したり、アドレスを伝えたりした場合に、これらのプロフィール ページに一般にアクセスできるようにしたいと考えていますが、現在ログインしているユーザーが自分のプロフィールにアクセスできるリンクも提供したいと考えています。私のヘッダーからのスニペット:
<li><%= link_to "Profile", @user %></li>
<li><%= link_to "Settings", edit_user_registration_path %></li>
<li><%= link_to "Logout", destroy_user_session_path, method: "delete" %></li>
現在、@user はルーティング エラーを停止するためだけに存在します。何にリンクすればよいか完全にはわかりません。かなりの数の組み合わせを試しましたが、明らかに私のレール初心者の心には、やらなければならない何かが欠けています。どんな助けでも大歓迎です!
(レール 4、ルビー 2.0.0)
また、最終的には、プロファイル ページへのリンクに ID + ユーザー名を #{id}-#{username} の形式で表示できるようにしたいと考えています (users/1 --> users/1 ではなく) 。 -bbvoncrumb)。