代码之家  ›  专栏  ›  技术社区  ›  Ash

帮助解决Rails中的路由错误

  •  0
  • Ash  · 技术社区  · 15 年前

    我有一个控制器叫 form_questions_answers 其中的一个方法调用 modify_rule 但当我在 /form_questions_answers/modify_rule/60 Rails告诉我:

    Routing Error
    No route matches "/form_questions_answers/modify_rule/60" with {:method=>:post}
    

    为什么会这样,我有 map.resources :form_question_answers 在routes.rb中,和 map.connect ':controller/:action/:id' 在routes.rb文件的底部,为什么 修正规则 正在触发操作?

    2 回复  |  直到 15 年前
        1
  •  1
  •   nowk    15 年前

    /form_questions_answers/modify_rule/60 不接受基于map.resources的发布。它要么是一个GET,要么是一个与REST一致的PUT。

    你可能想看看 rails routing guide 有关路线的信息。

    火鸡节快乐!

        2
  •  0
  •   Andy Gaskell    15 年前

    如果您使用的是基于资源的路由,则可能需要删除 default routes . 也就是说,您可能希望向您的 form_question_answers 这样的路线:

    map.resources 'form_questions_answers', :member => { :modify_rule => :post } 
    

    您可以阅读有关向路由添加选项的更多信息 here .