Ruby on rails 轨道布线不起作用
我在my routes.rb中明确定义了以下路线Ruby on rails 轨道布线不起作用,ruby-on-rails,ruby,routes,ruby-on-rails-2,Ruby On Rails,Ruby,Routes,Ruby On Rails 2,我在my routes.rb中明确定义了以下路线 map.book_preview_v2 '/books/v2/:id', :controller => 'books', :action => 'show_v2' 但是,在日志中,我看到以下消息: 2015-09-25 16:49:04 INFO (session: f561ebeab121cd1c8af38e0482f176b8) method /books/v2/519869.json (user: xxx:669052) pa
map.book_preview_v2 '/books/v2/:id', :controller => 'books', :action => 'show_v2'
但是,在日志中,我看到以下消息:
2015-09-25 16:49:04 INFO (session: f561ebeab121cd1c8af38e0482f176b8)
method /books/v2/519869.json (user: xxx:669052) params:
{"controller"=>"books", "action"=>"v2", "id"=>"519869",
"format"=>"json"}
ActionController::UnknownAction (No action responded
to v2. Actions: some_method_1, some_method_2,
some_method_3, some_method_4, some_method_5, **show_v2**,
some_method_6, and some_method_7):
我是否在配置问题上遗漏了一些约定?为什么在日志中我将操作视为“v2”而不是“show_v2”?更新 这是如何为rails v2.3.8创建 请把路线改成
map.connect '/books/v2/:id', :controller => 'books', :action => 'show_v2'
我希望它能帮助你
ActionController::UnknownAction(没有操作响应v2。操作:
一些方法1,一些方法2,一些方法3,一些方法4,
一些方法5、显示方法2、一些方法6和一些方法7):
为什么在日志中我看到的是“v2”而不是“show_v2”
按照默认路线
map.connect ':controller/:action/:id'
它期望v2
作为action
但您在路由中将show_v2
定义为action
。将路线
更改为以下应该可以
map.connect '/books/show_v2/:id', :controller => 'books', :action => 'show_v2'
请注意,您使用的是哪个版本的rails?其背后的理论是什么?很抱歉,我没有显示理论和文档。我已经更新了我的答案。在该文档中,您可以找到详细说明@谢谢你的评论。我会小心地写下答案。谢谢你的帮助,但没有工作。它与rails约定相冲突,并且正在调用controller=>“books”action=>“v2”。这很有意义。还有什么方法可以让我的url保持为/books/v2/:id,方法名保持为show_v2?@riship89等等。你能用完整的
路线更新你的问题吗?