Ruby on rails rails和mongoid形式中未定义的方法路径
我有两门课;一个Ruby on rails rails和mongoid形式中未定义的方法路径,ruby-on-rails,ruby,mongoid,form-for,Ruby On Rails,Ruby,Mongoid,Form For,我有两门课;一个日班和一个学院班班。一天由许多大学课程组成,一天是在大学课程之前创建的。我得到的错误 ActionView::Template::Error (undefined method `day_college_classes_path' for#<#<Class:0xa0627dc>:0xa06bd3c>): 26: <% end %> 27: <% end %> 28: 29: <%= form_for [@day, Colle
日
班和一个学院班
班。一天由许多大学课程组成,一天是在大学课程之前创建的。我得到的错误
ActionView::Template::Error (undefined method `day_college_classes_path' for#<#<Class:0xa0627dc>:0xa06bd3c>):
26: <% end %>
27: <% end %>
28:
29: <%= form_for [@day, CollegeClass.new] do |f| %>
30: <%= f.text_field :module, placeholder: "Module" %>
31: <br>
32: <%= f.text_field :lecturer, placeholder: "Lecturer" %>
app/views/days/show.html.erb:29:in `_app_views_days_show_html_erb___616937818__626026478'
我的大学班级模式
class CollegeClass
include Mongoid::Document
field :module, type: String
field :room, type: String
field :lecturer, type: String
field :start_time, type: String
field :end_time, type: String
embedded_in :day
embeds_many :notes
embeds_many :tasks
accepts_nested_attributes_for :notes
accepts_nested_attributes_for :tasks
end
在展示页面上创建一个为期一天的大学课程。以下是创建大学班级的表格:
<%= form_for [@day, CollegeClass.new] do |f| %>
<%= f.text_field :module, placeholder: "Module" %>
<br>
<%= f.text_field :lecturer, placeholder: "Lecturer" %>
<br>
<%= f.text_field :room, placeholder: "Room" %>
<br>
<%= f.text_field :start_time, placeholder: "Start Time" %>
<br>
<%= f.text_field :end_time, placeholder: "End Time" %>
<br>
<%= f.submit %>
<% end %>
两种车型的路线:
resources :days do
resources :college_class
end
这给了我们这些:
day_college_class_index GET /days/:day_id/college_class(.:format) college_class#index
POST /days/:day_id/college_class(.:format) college_class#create
new_day_college_class GET /days/:day_id/college_class/new(.:format) college_class#new
edit_day_college_class GET /days/:day_id/college_class/:id/edit(.:format) college_class#edit
day_college_class GET /days/:day_id/college_class/:id(.:format) college_class#show
PATCH /days/:day_id/college_class/:id(.:format) college_class#update
PUT /days/:day_id/college_class/:id(.:format) college_class#update
DELETE /days/:day_id/college_class/:id(.:format) college_class#destroy
days GET /days(.:format) days#index
POST /days(.:format) days#create
new_day GET /days/new(.:format) days#new
edit_day GET /days/:id/edit(.:format) days#edit
day GET /days/:id(.:format) days#show
PATCH /days/:id(.:format) days#update
PUT /days/:id(.:format) days#update
DELETE /days/:id(.:format) days#destroy
我真诚地感谢在这方面得到的任何帮助。谢谢 尝试将routes.rb更改为此
resources :days do
resources :college_classes
end
根据您的路线表,我可以看到路径为
day\u college\u class
,因此应该是day\u college\u class\u path
@ArupRakshit,这不是正确答案。解决方案是修复资源
,如下所示。资源应该是复数的,而不是单数的。@meagar Humm。。“我看得见,”有人回答。我怎么猜,OP想要什么名字。这两方面都是事实。如果OP写的路径正确,那么可能是他输入的路径有误,,,或者是你说的。@ArupRakshit这是一个输入错误。我已经看了大约一个小时了,出于某种原因,我完全忘记了多元化的大学课程路线。“即使一个人的日子是多元化的,他一直盯着我看。”阿鲁普拉克希特说,是因为铁路吗?熟悉Rails。这个问题有一个客观正确的答案,而不是你建议的答案。他甚至没有选择使用你建议的day\u college\u class\u path
。Rails正在根据他的模型名生成该名称。就在那里完成了。不得不等10分钟。再次感谢。
day_college_class_index GET /days/:day_id/college_class(.:format) college_class#index
POST /days/:day_id/college_class(.:format) college_class#create
new_day_college_class GET /days/:day_id/college_class/new(.:format) college_class#new
edit_day_college_class GET /days/:day_id/college_class/:id/edit(.:format) college_class#edit
day_college_class GET /days/:day_id/college_class/:id(.:format) college_class#show
PATCH /days/:day_id/college_class/:id(.:format) college_class#update
PUT /days/:day_id/college_class/:id(.:format) college_class#update
DELETE /days/:day_id/college_class/:id(.:format) college_class#destroy
days GET /days(.:format) days#index
POST /days(.:format) days#create
new_day GET /days/new(.:format) days#new
edit_day GET /days/:id/edit(.:format) days#edit
day GET /days/:id(.:format) days#show
PATCH /days/:id(.:format) days#update
PUT /days/:id(.:format) days#update
DELETE /days/:id(.:format) days#destroy
resources :days do
resources :college_classes
end