我的代码无法正常工作
<%= simple_form_for @lesson do |f| %>
但是在我做的时候工作了
<%= simple_form_for @lesson, url: course_lessons_path do |f| %>
我的路线是
Prefix Verb URI Pattern Controller#Action
course_lessons GET /courses/:course_id/lessons(.:format) lessons#index
POST /courses/:course_id/lessons(.:format) lessons#create
new_course_lesson GET /courses/:course_id/lessons/new(.:format) lessons#new
edit_course_lesson GET /courses/:course_id/lessons/:id/edit(.:format) lessons#edit
course_lesson GET /courses/:course_id/lessons/:id(.:format) lessons#show
PATCH /courses/:course_id/lessons/:id(.:format) lessons#update
PUT /courses/:course_id/lessons/:id(.:format) lessons#update
DELETE /courses/:course_id/lessons/:id(.:format) lessons#destroy
courses GET /courses(.:format) courses#index
POST /courses(.:format) courses#create
new_course GET /courses/new(.:format) courses#new
edit_course GET /courses/:id/edit(.:format) courses#edit
course GET /courses/:id(.:format) courses#show
PATCH /courses/:id(.:format) courses#update
PUT /courses/:id(.:format) courses#update
DELETE /courses/:id(.:format) courses#destroy
我认为这与我能够做的关联有关
<%= simple_form_for @course do |f| %>
我的课程视图。但我不完全确定为什么我需要一个网址以及是否有更好的网址。更简洁的方法来编辑我的simple_form。
答案 0 :(得分:0)
rails具有约定,因为您使用的是型号名称课程,但处理课程的控制器是 course_lesson ,如果您使用
<%= simple_form_for @lesson do |f| %>
这将尝试查找lesson_controller,这就是你必须使用url选项提供rails更多信息的原因
这也回答了你的问题
<%= simple_form_for @course do |f| %>
没有网址,因为你的模型是课程,你的控制器也是course_controller