【问题标题】:rails 3.0 No route matchesrails 3.0 没有路线匹配
【发布时间】:2010-11-11 12:54:48
【问题描述】:

大家好 我最近将我的 rails 2.3.5 应用程序更新为 rails 3.0

在 rails 2.3.5 中一切正常,但在 3.0 中我得到一个 ActionController::RoutingError

没有路线匹配 {:action=>"create", :controller=>"hours"}

行错误指向我的表单助手

<%= form_for(:hour, :url =>{:action =>'create'}) do |f| %>

在我的 routs 文件中,我有以下声明:

匹配“小时”=>“小时#index”

谁能告诉我如何解决它?我会很感激你的回答

【问题讨论】:

    标签: ruby-on-rails


    【解决方案1】:

    运行rake routesmatch 'hours' =&gt; 'hours#index' 给你GET /hours

    form_for 尝试访问路由 POST /hours,该路由映射到 hours#create

    代替匹配规则,试试这个:

    resources :hours
    

    【讨论】:

      【解决方案2】:

      正如 Ariejan 上面所说的 - 如果您的表单正在使用,您需要从 create 操作中获得一条路线。

      如果您没有所有 RESTful 资源,您还可以使用以下参数来限制操作:

      resources :hours, :except => [:destroy, :show]
      

      resources :hours, :only => [:index, create]
      

      Rails 指南有很好的文档。 http://guides.rubyonrails.org/routing.html

      【讨论】:

        猜你喜欢
        • 2012-10-11
        • 2017-07-13
        • 2013-12-31
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-10-24
        • 2013-03-14
        相关资源
        最近更新 更多