使用设计和单独的控制器(用户)进行身份验证,这是一个“显示”操作
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 只是用来阻止路由错误。我不完全确定要链接到什么,尝试了很多组合,但显然我的 Rails 新手头脑缺少我需要做的额外事情。任何帮助深表感谢!
(轨道 4,红宝石 2.0.0)
旁注我还想最终允许指向个人资料页面的链接以以下格式显示 id + 用户名:#{id}-#{username}(而不仅仅是 users/1 --> users/1 -bbvoncrumb)。