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、lesson belongs_to :group (わかりやすくするため)。

14 行目で次のエラーが表示されます。

#<#:0x30831d8> の未定義のメソッド `lesson_path'

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_idLessonsController

于 2013-10-01T12:49:26.593 に答える