我最近修改了我的 Sessions.rb 控制器,因为它正在与 Devise Sessions 控制器争夺我的应用程序的至高无上的地位。似乎效果很好。我修改了我的 route.rb 如答案中所述。
现在我在默认(自脚手架以来没有太多变化)会话表单中遇到了几个问题。
config/routes.rb
namespace :classroom do
resources :registrations
resources :sessions
end
classroom/sessions/index.html.erb
<h1>Listing sessions</h1>
<table>
<tr>
<th>Class size</th>
<th>Course</th>
<th>Description</th>
<th>Location</th>
<th>Name</th>
<th>Price</th>
<th></th>
<th></th>
<th></th>
</tr>
<% @sessions.each do |session| %>
<tr>
<td><%= session.class_size %></td>
<td><%= session.course_id %></td>
<td><%= session.description %></td>
<td><%= session.location_id %></td>
<td><%= session.name %></td>
<td><%= session.price %></td>
<td><%= link_to 'Show', session %></td>
<td><%= link_to 'Edit', edit_classroom_session_path(session) %></td>
<td><%= link_to 'Destroy', session, method: :delete, data: { confirm: 'Are you sure?' } %></td>
</tr>
<% end %>
</table>
<br />
<%= link_to 'New Session', new_classroom_session_path %>
以下链接已停止工作,并在加载 /sessions/index.html.erb 时给出“找不到有效的映射”错误消息
<td><%= link_to 'Show', session %></td>
td><%= link_to 'Edit', edit_classroom_session_path(session) %></td>
<td><%= link_to 'Destroy', session, method: :delete, data: { confirm: 'Are you sure?' } %></td>
运行 rake 路由的输出:
classroom_sessions GET /classroom/sessions(.:format) classroom/sessions#index
POST /classroom/sessions(.:format) classroom/sessions#create
new_classroom_session GET /classroom/sessions/new(.:format) classroom/sessions#new
edit_classroom_session GET /classroom/sessions/:id/edit(.:format) classroom/sessions#edit
classroom_session GET /classroom/sessions/:id(.:format) classroom/sessions#show
PUT /classroom/sessions/:id(.:format) classroom/sessions#update
DELETE /classroom/sessions/:id(.:format) classroom/sessions#destroy
我不太确定如何修改链接的“显示”和“销毁”部分以使它们与新的命名空间一起使用。提前感谢您的帮助。非常,非常感谢。
谢谢,弗朗西斯