2017-07-18 46 views
-1

当前版本的默认路由是Ruby on Rails的在我使用2.3

Ruby = 1.8.7rails = 2.3.18

和我有这个routes.rb文件config目录

ActionController::Routing::Routes.draw do |map| 

    map.connect ':controller/:action/:id' 
    map.connect ':controller/:action/:id.:format' 

    map.root :controller => "home" 
end 

和我创建了一个文件在app/controllers目录中,名称为home_controller.rb

与下面的内容

class Home < ApplicationController 
    def index 
    puts 'Hello World'; 
    end 
end 

这是我创建这个新的铁路项目的网址。

http://ctsdemo.com/demos/taurus/old/demoapp/public/

,但它不是重定向我给家庭控制器?

= - = - = - = - = - = -

更新:

我已经更新了的routes.rb文件和指定的操作为好。

ActionController::Routing::Routes.draw do |map| 

    map.connect ':controller/:action/:id' 
    map.connect ':controller/:action/:id.:format' 

    map.root :controller => "home", :action => "index" 
end 

我还是老样子。它的类似路线文件永远不会被rails访问?

我在这里失踪了什么?

回答

0

对于梁2,我相信它一定是:

map.root :controller => "home", :action => "index" 
+0

请检查我的问题更新。即使你定义行动也没有帮助。仍然routes.rb不工作。 –

1

您应该通过行动以及它在你的情况是"index"

map.root :controller => "home", :action => "index" 

欲了解更多详细信息,您应该参考Rails 2.3 routing

+0

仍然相同 'http:// ctsdemo.com/demos/taurus/old/demoapp/public /' 显示相同的页面,我按照您的要求指定了操作。复制你的线路并换成我的线路。 –

+0

这是否也需要某种.htaccess文件?像在Apache? –

+0

上面的代码将在rails上工作 –

0

如果你看看the comment right on top of the default routes.rb file,它会告诉你你做错了什么:“优先级基于创建顺序:首先创建 - >最高优先级“。换句话说:您需要在回退URL之前声明根。

另一个注意事项:如果您关心安全性,请考虑完全删除回退URL(如the other comment in the default routes.rb file建议)。

最后但并非最不重要:如果这是在生产中运行的应用程序,请考虑升级到当前的Rails版本,或者如果您尚未使用Rails LTS。当你处于这种状态时,你也应该升级到受支持的Ruby版本。 IMO在生产中运行这样一个过时的堆栈风险很高。

+0

实际上它是使用命令'rails new'在hostgator中创建的新项目,并通过创建控制器文件编辑路径文件。 并从公开中删除了index.html。如2.3 http://guides.rubyonrails.org/v2.3/getting_started.html –

+0

的文档中所解释的,然后记下我写的有关路线优先权的内容,并相应地对路线进行排序。 :)另外,如果它是一个新项目,我强烈建议使用Rails 5.1(或至少Rails 5.0)。除非您有使用Rails 2.3的旧版应用程序,否则没有理由使用Rails 2.3。 –

+0

即时使用Rails 2.3,因为另一个项目已经建立在2.3。 Ruby on Rails对我来说是非常新的。我甚至不懂编码。 但是有一些代码需要理解并将其转换为php。但为了理解rails,我创建了一个新的项目来理解它的MVC。 –