我正在关注RoR教程,并且教程中生成的路由文件与我计算机上生成的路由文件不同。教程中的那个是
Lecture::Application.routes.draw.do
get 'say/hello'
我的文件已生成
Rails.application.routes.draw.do
get 'say/hello'
这是否有所不同,因为我收到路由错误:
路由错误没有路由匹配[GET]“/ say / hello”
这是什么原因?
答案 0 :(得分:0)
您需要指定路线的引导位置。 例如:(Rails Routing from the Outside In)
get '/patients/:id', to: 'patients#show'
或在你的情况下:
get 'say/hello', to: 'say#hello'
格式化为' controller_name#controller_action'
定义动作用途:
def hello
#This is my hello action
end
答案 1 :(得分:0)
如果您在该控制器中有hello
控制器和get 'say/hello', to: 'say#hello'
方法,
变化,
get '/say/hello', to: 'say#hello'
要,
'/say/hello'
观察,rake routes
。
如果您没有该控制器,
在rails console
中输入vowels.indexOf(newStr[i]) != -1
并更新您的问题。
答案 2 :(得分:0)
#config/routes.rb
get 'say/hello' => 'say#hello' #Here say is controller and hello is action
#controllers/say_controller.rb
class SayController < ApplicationController
def hello
...
end
end
答案 3 :(得分:0)
你的控制器文件应该是:
say_controller.rb
Class SayController < ApplicationController
def hello
puts 'hello there'
end
end
您的routes.rb文件应包含:
routes.rb
get '/anything/you_want/', to 'say#hello'
这应该可以解决问题