Rails - 新表单

时间:2016-06-24 01:09:45

标签: ruby-on-rails

我确信这个问题有一个简单的解决方案,但是我不能为我的生活看到我做错了什么 - 自从我&#已经过了几个月39;我参与了Rails项目,我必须忘记重要的事情。

我只是想创建一个基本的Rails表单,但是当我导航到新的表单页面时,我收到no method路径错误。

这是我的报告模型...

的routes.rb

resources :report, only: [:new, :create], path_names: {new: ''}

report_controller.rb

def new
    @report = Report.new
end

报告/ new.html.erb

<%= form_for @report do |f| %>
<% end %>

导航到http://localhost:3000/report收益

undefined method `reports_path'

为了全面,这里是模特......

class Report < ActiveRecord::Base
    belongs_to :user
    belongs_to :weather
    belongs_to :feature
end

和路线

report_index POST   /report(.:format)      report#create
new_report GET    /report(.:format)        report#new

我确定这是一个业余的错误...但我无法看到它是什么!

2 个答案:

答案 0 :(得分:0)

如果您希望能够转到:show,则需要更改路线以包含/report路径。

我相信您正在寻找的路径是localhost:3000/reports/new

答案 1 :(得分:0)

哦,为了上帝的爱。这是一个多元化的问题。这些文件应该出现并命名如下:

的routes.rb

resources :reports, only: [:new, :create], path_names: {new: ''}

reports_controller.rb

class ReportsController < ApplicationController
    def new
        @report = Report.new
    end
end

视图文件应全部位于名为“reports”的文件夹中,而不是“report”。该模型只是单一的报告.rb。