Rails 4:用户个人资料

时间:2016-11-18 17:02:04

标签: ruby-on-rails ruby-on-rails-4

我有一个带有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

我知道这有点哲学,但如果有人能够解释实现这一目标的正确方法,我会很感激。

1 个答案:

答案 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