从root发送请求到其他控制器

时间:2015-02-12 01:59:27

标签: ruby-on-rails ruby-on-rails-4

我对rails非常陌生,所以对这个简单的问题道歉...

我有一个单页rails应用程序,我在从根路径创建我的模型的新实例以保存到数据库时遇到问题。

我尝试过使用form_for,但是当我按下提交时,它会尝试发布到'/'而不是'/ MODEL'。

我收到错误:没有路由匹配[POST]“/”

我意识到这可能是一个简单的路由问题,但我无法在网上找到我正在寻找的内容。

此外,如果有人能指出一些深入的资源,我会非常感激。 我已经阅读了“Rails Tutorial”,但我觉得它只是对Rails的工作方式有所了解,而不是为什么。

由于

编辑:

这是我的routes.rb文件:

Rails.application.routes.draw do
  root 'static#home'
  devise_for :users
  resources :card_log
end

和视图文件的片段:

      = form_for :card_log do |f|
    %p
      = f.label :item1
      = f.text_field :item1
    %p
      = f.label :item2
      = f.text_field :item2
    %p
      = f.label :item3
      = f.text_field :item3
    %p
      = f.submit "Submit"

1 个答案:

答案 0 :(得分:1)

form_for的最佳深入资源来自Ruby on Rails edge guide

如果您的情况,请确保您在routes.rb中有以下内容。将:models替换为您的每个实际型号名称:

resources :models

在您的视图中,以下内容适用于创建Model的新实例。

form_for(@model) 

您还可以明确地定义路线:

form_for(@model, url: model_path(@model), html: {method: "post"})