我正在使用Gem'Devise'来为我的页面设置用户和管理员。我创建了一个登录页面,该页面要求用户首先登录,然后成功登录后,我要将用户重定向到模型 Category 的主页,该页面将仅显示产品类别列表。但是,我还没有找到正确的方法。这是我的路线文件:
Rails.application.routes.draw do
resources :categories
root to: 'pages#home'
devise_for :users
end
这是我在查看页面内的 home.html.erb 文件:
<h1>Login page</h1>
<% if current_user %>
<%= link_to 'Categories', category_path(@category) %>
<%= link_to 'Sign Out', destroy_user_session_path, method:
:delete %>
<% else %>
<%= link_to 'Sign Up', new_user_registration_path %>
<%= link_to 'Sign In', new_user_session_path %>
<% end %>
我收到一条错误消息:
ActionView::Template::Error
(No route matches {:action=>"show",:controller=>"categories", :id=>nil},
missing required keys: [:id]):
如何连接视图 Page 的 home.html.erb 文件和的 index.html.erb >类别视图?预先感谢您提供的任何帮助
答案 0 :(得分:0)
如何将视图页面的home.html.erb文件与“类别”视图的index.html.erb连接起来?
如果您想要的是查看所有类别的链接,那么为什么要使用助手查看一个单一类别category_path(@category)
(并传递不存在的{{1 }})?而是使用此:
@category