link_toからnew_user_session_path経由でリンクを作成するアプリを理解しようとしています。私のコントローラには、新しいものもセッションもありません。生成リンクは、[ListenUp] [1]で見ることができるusers/sign_inです。また、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/
[コードとhttps://stackoverflow.com/help/mcveにリンクしないことに関する覚え書きのコメント] 通常、パスはroutes.rbのユーザーによって定義されます。この場合、new_user_session_pathはDeviseによって定義されているため、通常の場所では表示されません。これを独自のルーティングで上書きすることができます。詳細についてはhttps://github.com/plataformatec/devise/wiki/How-To:-Customize-routes-to-user-registration-pagesおよびhttpsを参照してください。 ://github.com/plataformatec/devise/wiki/How-To:-Change-the-default-sign_in-and-sign_out-routes。 – Windmill
感謝の気持ちで、すぐに更新します。 – MusicAndCode