我正在尝试让页面生成一个课程表,其中每个单元格都是一个文本字段,您可以在其中编辑值并通过按下按钮进行保存。该按钮应该运行更新操作,更新属性。
<% @group.lessons.each do |lesson| %>
<% form_for lesson do |f| %>
<tr>
<td><%= f.text_field :time %></td>
<td><%= f.text_field :day %></td>
<td><%= f.text_field :subject %></td>
<td><%= f.text_field :teacher %></td>
<td><%= f.text_field :room %></td>
<td><%= f.submit 'Update'%></td>
<td><%= link_to 'Delete', [lesson.group, lesson], method: :delete%></td>
</tr>
<%end%>
<%end%>
小组has_many:课程,课程belongs_to:group(只是为了说清楚)。
我在第14行得到了这个错误:
#&lt;#:0x30831d8&gt;
的未定义方法`lesson_path'
第14行:
<% form_for lesson do |f| %>
根据要求从routes.rb中提取:
resources :groups do
resources :lessons
end
root :to => 'groups#index'
我如何实现我的需要?
答案 0 :(得分:2)
你应该:
<%= form_for [@group, lesson] do |f| %>
在你看来。这是必要的,因为lessons
是groups
资源中的嵌套资源,因此如果您希望将group_id
路由到LessonsController
,则需要将{{1}}传递给该链接。