【发布时间】:2017-05-02 19:55:28
【问题描述】:
我正在尝试了解一个应用程序,它通过 link_to 创建了一个到 new_user_session_path 的链接。在我的控制器中,没有新的也没有会话。生成链接是 users/sign_in,您可以在这里看到:[ListenUp][1]。此外,sign_in 不在控制器中。我的预感是它是某种 RoR 魔法。
控制器:
class UsersController < ApplicationController
def index
@users = User.all
end
def show
@user = User.find_by_permalink(params[:id])
@songs = Song.where(user: @user)
@friendships = @user.all_friendships
end
end
路线
Rails.application.routes.draw do
devise_for :users
resources :users
resources :friendships
root 'pages#search'
resources :pages
resources :playlists
resources :songs
get 'search' => 'pages#search'
get 'search_results' => 'pages#search_results'
end
我试图弄清楚的部分观点:
<li><%= link_to "sign in", new_user_session_path %></li>
<li><%= link_to "sign up", new_user_registration_path %></li>
谢谢
[1]: http://listenup-songshare.herokuapp.com/
【问题讨论】:
-
[关于未链接到代码的强制性评论和stackoverflow.com/help/mcve] 继续前进,路径通常由用户在 routes.rb 中定义。在这种情况下,new_user_session_path 由 Devise 定义,因此您在任何通常的地方都看不到它。可以用您自己的路由覆盖这些,您可以在github.com/plataformatec/devise/wiki/… 和github.com/plataformatec/devise/wiki/… 阅读更多信息。
-
感谢您提供的信息,我会立即更新。
标签: ruby-on-rails link-to