我有一个account/settings
人们可以访问以更新他们的帐户的页面。这是一个单一的资源,因此他们可以(或应该)只能更新自己的帐户设置。当显示表单错误时,我遇到了奇怪的 URL 格式。
如果他们打开/account/settings/edit
并尝试提交有错误的表单(例如,不是有效的电子邮件地址),他们将被重定向到向/account/settings.1
他们显示问题所在的位置(在我们的示例中,不是有效的电子邮件地址)。
一切都“有效”,但我想知道为什么.1
URL 会附加一个。我想他们会被送回account/settings
或account/settings/edit
他们可以纠正错误的地方。难道我做错了什么?
路线.rb
namespace :account do
resource :settings, :only => [:show, :edit, :update]
end
settings_controller.rb
def edit
@account = Account.find(session[:account][:id])
end
def update
@account = Account.find(session[:account][:id])
if @account.update_attributes(params[:account])
redirect_to account_settings_path
else
render 'edit'
end
end
耙路线
edit_account_settings GET /account/settings/edit(.:format) account/settings#edit
account_settings GET /account/settings(.:format) account/settings#show
account_settings PUT /account/settings(.:format) account/settings#update