gpt4 book ai didi

ruby-on-rails - Rails单一路由问题

转载 作者:行者123 更新时间:2023-12-04 04:56:25 25 4
gpt4 key购买 nike

我有一个 account/settings人们可以访问的页面来更新他们的帐户。这是一种单一资源,因此他们可以(或应该)只能更新自己的帐户设置。当显示表单错误时,我遇到了奇怪的 URL 格式。

如果他们在 /account/settings/edit并尝试提交有错误的表单(例如,不是有效的电子邮件地址)他们被重定向到 /account/settings.1它向他们展示出了什么问题(在我们的示例中,不是有效的电子邮件地址)。

一切都“有效”,但我想知道为什么会有 .1被附加到 URL。我想他们会被送回 account/settingsaccount/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

rake 路
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

最佳答案

确保使用 edit_account_settings_path 生成路径, 不是 edit_account_settings_path(@user) .对于单一资源,您不应该传入资源,因为正如您所说,它们只有一个。

关于ruby-on-rails - Rails单一路由问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16700718/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com