gpt4 book ai didi

ruby-on-rails - 命名空间修改后表单损坏

转载 作者:行者123 更新时间:2023-12-04 17:00:35 26 4
gpt4 key购买 nike

我最近modified我的 Sessions.rb Controller ,因为它在我的应用程序中与 Devise Sessions Controller 争夺至高无上的地位。似乎效果很好。如答案中所述,我修改了我的 route.rb。

现在我在默认(自脚手架以来没有太大变化) session 表单中遇到了几个问题。

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

我不太确定如何修改链接的“显示”和“销毁”部分以使它们与新命名空间一起使用。在此先感谢您的帮助。非常,非常感谢。

谢谢,
弗朗西斯

最佳答案

尝试:

<td><%= link_to 'Show', classroom_session_path(session) %></td>
<td><%= link_to 'Edit', edit_classroom_session_path(session) %></td>
<td><%= link_to 'Destroy', classroom_session_path(session), method: :delete, data: { confirm: 'Are you sure?' } %></td>

看看这里的一个很好的答案如何处理带有命名空间路由的链接:

rails using link_to with namespaced routes

关于ruby-on-rails - 命名空间修改后表单损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15488747/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com