2014-02-19 51 views
0

我使用Friendly_id寶石創造清潔URL,它工作得很好,但不是有這樣http://localhost:3000/profile/jack-sparo一個網址我想這樣http://localhost:3000/profile/1/jack-sparo一個網址,1user_id,所以如何我可以做嗎?使用彈頭和id的URL與Friendly_Id寶石

這是我的配置/路由

get "profiles/show" 

    get '/profile/:id' => 'profiles#show', :as => :profile 
    get 'profiles' => 'profiles#index' 

,這是我的個人資料控制器

def show 
    @user= User.find_by_slug(params[:id]) 
    if @user 
     @posts= Post.all 
     render action: :show 
    else 
     render file: 'public/404', status: 404, formats: [:html] 
    end 
    end 

回答

1

我覺得這個作品:

# change in config/routes.rb 
get '/profile/:id(/:username)' => 'profiles#show', :as => :profile 

# change in app/controllers/profile_controller.rb 
@user= User.find(params[:id]) 

# add to app/models/user.rb 
def to_param 
    "#{id}/#{username}" 
end 

哪裏username是什麼friendly_id用來生成slu 012