Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails RubyonRails 4-路由问题_Ruby On Rails_Ruby_Routes_Ruby On Rails 4 - Fatal编程技术网

Ruby on rails RubyonRails 4-路由问题

Ruby on rails RubyonRails 4-路由问题,ruby-on-rails,ruby,routes,ruby-on-rails-4,Ruby On Rails,Ruby,Routes,Ruby On Rails 4,我是RoR的新手,在过去几天里一直在努力设置我的环境(奔跑山狮)。我终于到了可以开发的地步,并决定在lynda.com上开始试用 到目前为止,学习Rails的原理和理论是非常棒的,但它是在2010年制作的,我很难发现Rails的主要版本之间有多少变化。例如,生成的项目不再包含脚本文件夹——这些文件夹只是使用Mac命令行中的rails命令调用的 在上一课中,讲师生成了一个新的rails项目,添加了一个控制器: class SayController < ApplicationControll

我是RoR的新手,在过去几天里一直在努力设置我的环境(奔跑山狮)。我终于到了可以开发的地步,并决定在lynda.com上开始试用

到目前为止,学习Rails的原理和理论是非常棒的,但它是在2010年制作的,我很难发现Rails的主要版本之间有多少变化。例如,生成的项目不再包含脚本文件夹——这些文件夹只是使用Mac命令行中的rails命令调用的

在上一课中,讲师生成了一个新的rails项目,添加了一个控制器:

class SayController < ApplicationController

  def hello
  end

end
我尝试添加这个(我的routes.rb是在所有内容都被注释掉的情况下生成的),但它不起作用,我认为RoR 4约定是不同的

那么RoR 4是否有默认路由?v4是否不允许返回null的操作或语法是否已更改

错误页面上说我当前的路线是
Rails.root:/Users/abcde/Sites/RoR/my_app/
,这是我运行Rails服务器的地方,所以我不确定这是否重要


路由跟踪和日志只是重申我的路由(/say/hello/)不存在,但如果需要,我可以发布它们。

语法似乎很旧,我会使用:

get '/say/hello'
如果这不起作用,我将指定控制器和操作:

get '/say/hello', to: 'say#hello'

应该有用

*.rhtml似乎也很老了。通常,视图具有扩展名*.html.erb。如果您正在寻找Rails4的帮助或文档,请查看:或特别是routes。我也建议您。两者都会给我以下错误:缺少模板使用{:locale=>[:en],:formats=>[:html],:handlers=>[:erb,:builder,:raw,:ruby,:jbuilder,:coffee]}说/hello。搜索:“/Users/abcde/Sites/RoR/my_app/app/views”啊,是的,所以你应该按照@Ayonix comment,将视图文件重命名为
app/views/say/hello.html.erb
很好,现在可以工作了。所以我猜这意味着Rails 4应用程序只接受显式路由?AFAIK同时接受这两种路由。。。但我不确定connect是否适用于Rails 2。
get '/say/hello'
get '/say/hello', to: 'say#hello'
match '/:controller/:action', :via => :get