【问题标题】:Rails undefined path method in form表单中的Rails未定义路径方法
【发布时间】:2017-03-07 04:56:09
【问题描述】:

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

<% @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%>

Group has_many :lessons, course belongs_to :group(只是为了说清楚)。

我在第 14 行收到此错误:

# 的未定义方法 `lesson_path'

第 14 行:

<% form_for lesson do |f| %>

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

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

如何实现我的需要?

【问题讨论】:

  • 您还需要向我们展示您的路线文件。 :)
  • 运行 rake routes 并在此处粘贴输出

标签: ruby-on-rails ruby forms html-table


【解决方案1】:

你应该有:

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

在你看来。这是必要的,因为lessonsgroups 资源中的嵌套资源,因此如果您希望将其路由到LessonsController,则需要将group_id 传递给链接。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-18
    相关资源
    最近更新 更多