2017-05-19 59 views
0

設計沒有用戶配置文件頁面,所以我正在滾動我自己的。我已經想通了,到目前爲止是這樣的:使用設計製作公共用戶配置文件

控制器:

class Users::ProfilesController < ApplicationController 
    def show 
    @user = User.find_by_username(params[:username]) 
    end 
end 

路線:

as :user do 
    get 'users/profile/:username', to: 'users/profiles#show' 
end 
resources :users, :only =>[:show] 

查看:

<% if user_signed_in? %> 
    <%= current_user.username %> 
<% else %> 
    <%= User.find_by(username: params[:username]) %> 
<% end %> 

這裏的問題是,這只是呈現的東西像#<User:0x007fa986d711d0>,每次我加載頁面都會改變。

+1

你爲什麼在視圖中找到'User'? 'User.find_by(username:params [:username])' – jdgray

回答

1

在您的show方法中,您已經通過username找到了User。因爲正在顯示任何屬性

@user.username or User.find_by(username: params[:username]).username 

當您使用User.find_by(username: params[:username])它由username參數找到User對象,並返回對象:

你可以改變你else的聲明,說明你正在尋找像一個屬性。

此外它可能會有助於移出您的查看邏輯,而不是使用助手或使用draper

相關問題