2017-04-01 65 views
0

我目前擁有的標準Rails的路線網址取出USER_ID

get 'profile/:id/view', to: 'profile#view', as: 'view'

產生http://localhost:3000/profile/233/view

控制器

def view 
     @user = User.find(params[:id]) 
end 

我怎樣才能使一個路徑,網址是http://localhost:3000/profile/view - 遺漏了URL?

我試圖做類似

def view(user_id) 
     @user = User.find(user_id) 
end 

但我不知道怎麼寫,在路線,或什麼的link_to路會是什麼樣子是什麼?

我一直在尋找一個簡單的答案,但一直沒能找到答案。

在此先感謝!

+0

我無法理解這一點:「我怎樣才能製作一個路徑,該網址是/配置文件/視圖 - 離開了網址?」 – ferit

+0

@Saibot我在懶惰 - 我更新了問題 – gwalshington

回答

0

您可以將路線更改爲

get 'profile/view', to: 'profile#view' 

然後在控制器,可以用戶current_user方法,設計提供。

def view 
    @user = current_user 
end 
+0

謝謝@Rockwell Rice - 如果它不是current_user呢?如果用戶點擊另一個用戶轉到其個人資料會怎麼樣? – gwalshington

+0

@gwalshington你必須以某種方式提供'user_id'。如果動作是GET,則沒有其他選擇,如果由於某種原因,您可以將其設置爲「POST」調用,那麼您可以將它們作爲參數發送,而這些參數不會顯示在url中。 – aks

+0

'你必須以某種方式提供user_id'除了URL之外,我無法以任何方式傳遞id? – gwalshington