"users"}-6ren"> "users"}-当我尝试通过命名路由 (http://localhost:3000/profile/) 访问 users#show 页面时出现错误......否则当我尝试使用标准 url 访问它时我没有错误( htt-6ren">
gpt4 book ai didi

ruby-on-rails-3 - 没有路由匹配 { :action= >"destroy", :controller= >"users"}

转载 作者:行者123 更新时间:2023-12-04 02:48:58 25 4
gpt4 key购买 nike

当我尝试通过命名路由 (http://localhost:3000/profile/) 访问 users#show 页面时出现错误......否则当我尝试使用标准 url 访问它时我没有错误( http://localhost:3000/users/current)。如果我 rake 路由,我的路由看起来是正确的,并且因为它适用于标准 url,我真的不知道为什么我会收到 No route matchs 错误。当我什至没有尝试访问它时,为什么要尝试为操作“销毁”找到路由匹配?

Starcast::Application.routes.draw do

match "login" => 'user_sessions#new', :as => :login
match "logout" => 'user_sessions#destroy', :as => :logout
resources :user_sessions

match "profile" => 'users#show'
resources :users

resources :casters
resources :casts
resources :orders

root :to => "home#index"

end

我得到的错误:
ActionView::Template::Error (No route matches {:action=>"edit", :controller=>"users"}):
1: <% title "Welcome #{@user.username}" %>
2:
3: <%= link_to "Edit your profil", edit_user_path %>
4:
5: <% has_role? :caster do %>
6: <% if @user.caster %>
app/views/users/show.html.erb:3:in `_app_views_users_show_html_erb___2116234531537545622_2170017780__3613739707062673465'

最佳答案

编辑/显示/销毁/更新路径需要一个 id 参数......即 edit_user_path(current_user.id) ...如果你不想这样做,你需要让你的路线使用资源 :user (而不是资源:用户),如果你做得不对,这将在以后的道路上引起很多头痛。

关于ruby-on-rails-3 - 没有路由匹配 { :action= >"destroy", :controller= >"users"},我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4125156/

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