gpt4 book ai didi

ruby-on-rails - 为什么 url_for 为未定义的路由返回/ Assets ?

转载 作者:数据小太阳 更新时间:2023-10-29 07:08:16 24 4
gpt4 key购买 nike

我正在从 Rails 3.1.3 升级到 3.2.2,但出于某种原因,如果路由不存在,现在 url_for 总是返回/assets。

例如:

url_for({}) #=> "/assets"
url_for({action: 'fake', controller: 'notreal'}) #=> /assets?action=fake&controller=notreal

但我希望它像往常一样抛出正常的 ActionController::RoutingError...

最佳答案

如果您通过指定 controller-action 构建路由,Rails 不会检查路由是否存在。它自然会显示 {} 路由的/assets。

你最好在 routes.rb 中指定命名路由,然后将它们用于 url_for。喜欢:

url_for add_user_path

这确保你要么成功(对于现有的命名路由)要么得到一个错误。

HTH

关于ruby-on-rails - 为什么 url_for 为未定义的路由返回/ Assets ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9900633/

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