2014-01-06 52 views
0

工作,我有設計設置用戶身份驗證和創造了users_controller表演動作和路線如下:控制器動作不能與設計

#users_controller.rb 
def show 
    @user = User.find(params[:id]) 
end 

#routes.rb 
match '/users/:id', to: 'users#show', via: 'get' 

我想要做的就是鏈接到誰是目前用戶登錄(用戶配置文件),我試着用:

%li= link_to "Profile", @user.id 

但它似乎並不像我想要的那樣工作。我也嘗試過current_user,我認爲它是Devise的標準幫助器方法。

我該如何獲得用戶配置文件的鏈接才能正常工作?

P.S.在問你之前:展示模板是在適當的方向上創建的。

+1

如何被它現在的工作這又如何區別從你w螞蟻? –

+0

當試圖訪問用戶(例如users/1)時,會拋出:nil:NilClass的未定義方法'id'。 – Severin

+0

@Severin,在下面檢查我的更新。 – Leon

回答

0

難道ü嘗試

%li= link_to "Profile", users_show_path(@user.id) 

得到的路徑檢查

rake routes 

編輯:

做到這一點

修改路線

match '/users/:id', to: 'users#show', via: 'get', as: "users" 

然後

%li= link_to "Profile", users_path(current_user) 
+0

不起作用,對不起。 – Severin

+0

'user_show_path(@ user.id)'應該工作@Severin – MrYoshiji

+0

拋出錯誤是什麼?你可以發佈路線嗎? – Leon

0

這應該工作:

%li= link_to "Profile",user_path(current_user)) 
0

在路線

resources :users 

鑑於

%li= link_to "Profile", user_path(@user)