我确信这个问题有一个简单的解决方案,但是我不能为我的生活看到我做错了什么 - 自从我&#已经过了几个月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
我确定这是一个业余的错误...但我无法看到它是什么!
答案 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。