2012-09-17 45 views
0

我正在研究一個簡單的應用程序,需要我在更新操作後重定向到show動作。如何在Rails中使用自定義格式路由重定向?

我有這個路線的表演。

match '/user/:fullname' => 'items#show' 

這給了我這個控制器。

@user = User.find_by_fullname(params[:fullname]) 

然而,用戶的更新方法,

def update 
    if @user.update_attributes(params[:user]) 
    format.html { redirect_to @user } # Don't need to pass parameters here. 
    else 
    format.html { render action: 'edit' } 
    end 
end 

它重定向我show行爲的原始格式是經過:

sampleapp.dev/users/1 

我怎樣才能重定向到顯示行動使用我在routes.rb中以全名命名的格式?

sampleapp.dev/users/johndoe 

回答

2

改變這一行到:

match '/user/:fullname' => 'items#show', :as => :custom_show_item 

然後更改您的重定向到:

redirect_to custom_show_item_path(:fullname => @user.fullname) 
+0

謝謝!按預期工作。 – Ben