2015-03-31 45 views
1

嗨ID PARAM我想完成具有的當前允許用戶無需編輯帳戶:url中

users/7/edit 

我有我自己的權威性

users/edit 

,而不是一個網址系統建立在omniauth之上。因此我將他們的user_id存儲在一個會話中。我將如何去完成這項任務?

回答

3

假設你使用current_user,即使你使用的是別的東西只是你的方法代替current_user,我使用current_user這裏,請按照下列步驟操作,

  1. 創建一個動作,我想它命名爲edit_user在您的用戶控制器

    def edit_user 
        @user = current_user # or User.find(session[:user_id]) 
    end 
    
  2. 添加路由routes.rb

    get "https://stackoverflow.com/users/edit" => "users#edit_user" 
    

你完成了,你可以在應用程序的任何地方使用上述路線,如果需要的話也可以命名路線。

OR,如果你不希望定義一個新的行動,並希望使用現有的edit動作,做這個

  1. 從默認resources路線edit刪除路由,然後手動定義它。通過這種方式,您可以使用現有的edit行動

    resources :users, except: [:edit] 
    get "https://stackoverflow.com/users/edit" => "users#edit" 
    

希望這有助於!