我对link_to有一个奇怪的问题,这就是发生的事情: 当我点击此link_to:
时<li><%= link_to "Sign up", sign_up_path %></li>
它重定向到sessions / new,但我想转到users / new 我认为我的routes.rb错了,但我没有看错 这是我的route.rb:
get "sessions/new"
get "sign_up" => "users#new", :as => "sign_up"
get "log_in" => "sessions#new", :as => "log_in"
get "log_out" => "sessions#destroy", :as => "log_out"
root :to => "sessions#new"
resources :users
resources :sessions
resources :orchestras
resources :conductors
resources :instruments
resources :integrants
如果有人可以提供帮助,谢谢。
更新
@ChrisPeters告诉我,看看是否有一个before_action将我重定向到我的会话/新会议 我验证并找到了一个before_filter:
before_filter :verifyUser, :only => [:orchestras, :conductors, :instruments, :integrants, :users]
因为我正在重定向到错误的页面,所以我更改了我的users_controller以跳过此内容:
skip_before_action :verifyUser, only: [:new]
现在它正在运作。 谢谢@ChrisPeters。
答案 0 :(得分:0)
查看是否有before_action
拦截请求并将用户重定向到sessions#new
。
正如您在更新中所述,看起来您错过了一个:
before_filter :verifyUser, :only => [:orchestras, :conductors, :instruments, :integrants, :users]
您可以通过致电skip_before_action
来解决问题:
skip_before_action :verifyUser, only: [:new]
一个小指针是将您的过滤方法重命名为verify_user
,因为snake_case
是用于命名方法的传统Ruby方法。