1

我试图让页面生成一个课程表,其中每个单元格都是一个文本字段,您可以在其中编辑值并通过按下按钮保存它。该按钮应运行更新操作,更新属性。

<% @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 :lessons, course belongs_to :group (只是为了说清楚)。

我在第 14 行收到此错误:

#<#:0x30831d8> 的未定义方法“课程路径”

第 14 行:

<% form_for lesson do |f| %>

根据要求从 routes.rb 中提取:

resources :groups do
    resources :lessons
end
root :to => 'groups#index'

我如何实现我所需要的?

4

1 回答 1

2

你应该有:

<%= form_for [@group, lesson] do |f| %>

在你看来。这是必要的,因为lessons资源内部是嵌套资源groups,因此group_id如果您希望链接路由到LessonsController.

于 2013-10-01T12:49:26.593 回答