我正在制作一个简单的应用,要求我在更新操作后重定向到show动作。
我有这条路线用于表演。
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 action的原始格式:
sampleapp.dev/users/1
如何使用我在routes.rb中指定的格式重定向到显示操作,该格式是全名?
sampleapp.dev/users/johndoe
答案 0 :(得分:2)
将此行更改为:
match '/user/:fullname' => 'items#show', :as => :custom_show_item
然后将您的重定向更改为:
redirect_to custom_show_item_path(:fullname => @user.fullname)