【发布时间】:2017-05-08 00:11:26
【问题描述】:
我是一名 Rails 新手。
我在我的第一个 rails 应用程序上做了一些路由更改,在这个应用程序中你可以创建国会和每个 has_many 类别,每个类别 belongs_to(只有一个)国会,所以,我的路线看起来像这样:
resources :congresses do
resources :categories do
resources :presentations
end
resources :news
end
我更改了类别视图的一些内容,所以,link_to 现在是congress_category_path 的形式,这些链接就像一个魅力。之后,我在form_for 类别上添加[@congress, @category],因此,该应用程序允许您创建一个类别。这是我的问题开始的地方......
在这部分视图:
<tbody>
<% Congress.find(params[:congress_id]).categories.each do |category| %>
<tr>
<td><%= category.name %></td>
<td><%= category.description %></td>
<td><%= category.presentations %></td>
<td><%= link_to 'Show', category %></td>
<td><%= link_to 'Edit', edit_congress_category_path(category) %></td>
<td><%= link_to 'Destroy', category, method: :delete, data: { confirm: 'Are you sure?' } %></td>
</tr>
<% end %>
每个类别都是一个实例,<%= link_to 'Show', category %> 提取 category_path 而不是 congress_category_path...我在哪里可以更改该特定路线?
这给了我一个
未定义方法
category_path用于#<#<Class:0x9961e00>:0x929a360>
我什至尝试过类似的东西
congress_category_path ([@congress, category])
但这也没用
非常感谢您的帮助,谢谢!
【问题讨论】:
标签: ruby-on-rails ruby routes ruby-on-rails-5