我有一个带有User
模型的Rails 4应用程序和has_one :client
,其中Client
是我存储有关客户端信息的模型。我希望我的用户能够查看包含客户信息的个人资料页面,但我不确定要使用哪个操作或如何路由到该个人信息。
我希望能够使用show action查看特定客户端:
def show
@user = User.find(params[:id])
@client = @user.client
end
...但我也希望找到一条路线,我的个人资料"这将依赖于current_user
而不是通过其ID找到用户。在我看来,这也是一个展示动作,我试图避免添加自定义方法,而宁愿找到" railsy"这样做的方法。
def show
@user = current_user
@client = @user.client
end
我知道这有点哲学,但如果有人能够解释实现这一目标的正确方法,我会很感激。
答案 0 :(得分:0)
实际上,我不确定你要做什么。如果您要添加有关显示current_user
个人资料的特定页面。为什么不添加新的method
?
喜欢这个
def profile
@client = current_user.client
end
或者您可以验证params[:id]
操作中的show
喜欢这个
def show
@user = params[:id].present? ? User.find(params[:id]) : current_user
@client = @user.client
end