gpt4 book ai didi

ruby-on-rails - 从 rails 3.2.0 升级到 3.2.2 时出现 "new"路由问题

转载 作者:行者123 更新时间:2023-12-01 23:00:35 25 4
gpt4 key购买 nike

将 rails 从 3.2.0 升级到 3.2.2 时,我遇到了一些路由问题。

当使用路由助手生成新路由时,助手会工作并生成一个链接,如下所示:

/things/new

但是,当您访问该链接时,它会引发路由错误...
Routing Error
No route matches {:action=>"edit", :controller=>"app/things", :id=>#<Thing id: nil, title: n....

它将它误认为是一个编辑 url 操作而不是一个新的操作。

route 什么都没有,但是......
  scope :module => :app, :as => :app, :constraints => { :subdomain => /app/ } do
resources :things
end

有没有人经历过这个或知道发生了什么?

谢谢。

额外的细节...

rake 路线:
    app_things GET    /things(.:format)                                    app/things#index {:subdomain=>/app/}
POST /things(.:format) app/things#create {:subdomain=>/app/}
new_app_thing GET /things/new(.:format) app/things#new {:subdomain=>/app/}
edit_app_thing GET /things/:id/edit(.:format) app/things#edit {:subdomain=>/app/}
app_thing GET /things/:id(.:format) app/things#show {:subdomain=>/app/}
PUT /things/:id(.:format) app/things#update {:subdomain=>/app/}
DELETE /things/:id(.:format) app/things#destroy {:subdomain=>/app/}

curl :
curl -IL http://app.testapp.com/things/new
HTTP/1.1 404 Not Found

从日志(堆栈跟踪?):
    Started GET "/things/new" for 127.0.0.1 at 2012-04-24 19:27:02 +0100
Processing by App::ThingsController#new as HTML
Rendered app/things/_new_form.html.erb (2.0ms)
Rendered app/things/new.html.erb within layouts/app (2.7ms)
Rendered layouts/_app_includes.html.erb (11.0ms)
Rendered app/nav/_things_new.html.erb (1.6ms)
Rendered app/nav/_menu_wrapper.html.erb (2.1ms)
Completed 500 Internal Server Error in 21ms

ActionController::RoutingError (No route matches {:action=>"edit", :controller=>"app/things", :id=>#<Thing id: nil, title: nil, created_at: nil, updated_at: nil, account_id: nil>}):
app/views/app/nav/_step_1_title.html.erb:2:in `_app_views_app_nav__step___title_html_erb__3644446743043796555_70280275307960'
app/views/app/nav/_things_new.html.erb:1:in `_app_views_app_nav__things_new_html_erb__4471631226426153422_70280275315660'
app/views/app/nav/_menu_wrapper.html.erb:8:in `_app_views_app_nav__menu_wrapper_html_erb___3003322303253991863_70280275346820'
app/views/layouts/app.html.erb:32:in `_app_views_layouts_app_html_erb__4514085623626236526_70280285513740'


Rendered /Users/blerg/.rvm/gems/ruby-1.9.2-p290/gems/actionpack-3.2.3/lib/action_dispatch/middleware/templates/rescues/routing_error.erb within rescues/layout (0.6ms)

最佳答案

我猜它不是 /things/new导致问题的路由本身。正在渲染某些内容(例如,您的 _nav 菜单之一)包括对 edit_app_thing_path 的调用。带有 nil 或其他缺少的对象参数。

关于ruby-on-rails - 从 rails 3.2.0 升级到 3.2.2 时出现 "new"路由问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10097165/

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