前提・実現したいこと
ログイン機能(devise)を持った本のレビューサイトを作っています。
投稿データモデル Book
ログインデータモデル User
発生している問題・エラーメッセージ
トップページに指定している welcome.html.erb 内のリンクlog in,sign upをクリックしてもlog inページ、sign upページに移動しません。
クリックすると一瞬移動したいurlが表示されるもurlがトップページに切り替わります。
エラーメッセージ なし
該当のソースコード
routes.rb
Rails.application.routes.draw do root 'books#welcome' devise_for :users resources :books # For details on the DSL available within this file, see https://guides.rubyonrails.org/routing.html end
welcome.html.erb
<h1>welcome to Bookers !!</h1> <p>In Bookers,<br> you can share and exchange your opinions , inpressions , and emotions<br> about various books!</p> <%= link_to "Log in", user_session_path %> <%= link_to "Sign up", new_user_registration_path %>
new.html.erb (Sign up用、views/users/registration/new.html.erb)
<h2>Sign up</h2> <%= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %> <%= render "devise/shared/error_messages", resource: resource %> <div class="field"> <%= f.label :email %><br /> <%= f.email_field :email, autofocus: true, autocomplete: "email" %> </div> <div class="field"> <%= f.label :password %> <% if @minimum_password_length %> <em>(<%= @minimum_password_length %> characters minimum)</em> <% end %><br /> <%= f.password_field :password, autocomplete: "new-password" %> </div> <div class="field"> <%= f.label :password_confirmation %><br /> <%= f.password_field :password_confirmation, autocomplete: "new-password" %> </div> <div class="actions"> <%= f.submit "Sign up" %> </div> <% end %> <%= render "users/shared/links" %>
new.html.erb ((Log in用、views/users/sessions/new.html.erb)
<h2>Log in</h2> <%= form_for(resource, as: resource_name, url: session_path(resource_name)) do |f| %> <div class="field"> <%= f.label :email %><br /> <%= f.email_field :email, autofocus: true, autocomplete: "email" %> </div> <div class="field"> <%= f.label :password %><br /> <%= f.password_field :password, autocomplete: "current-password" %> </div> <% if devise_mapping.rememberable? %> <div class="field"> <%= f.check_box :remember_me %> <%= f.label :remember_me %> </div> <% end %> <div class="actions"> <%= f.submit "Log in" %> </div> <% end %> <%= render "users/shared/links" %>
試したこと
welcome.html.erb内のリンク先を試験的にbooks_pathと指定してやるとindex.html.erbが表示されました。
上記にも述べた通り、クリックすると移動したいurlに移動できています。
new.html.erbが不適切なのでしょうか。
補足情報(FW/ツールのバージョンなど)
rails routes の出力抜粋
root GET / books#welcome new_user_session GET /users/sign_in(.:format) devise/sessions#new user_session POST /users/sign_in(.:format) devise/sessions#create destroy_user_session DELETE /users/sign_out(.:format) devise/sessions#destroy new_user_password GET /users/password/new(.:format) devise/passwords#new edit_user_password GET /users/password/edit(.:format) devise/passwords#edit user_password PATCH /users/password(.:format) devise/passwords#update PUT /users/password(.:format) devise/passwords#update POST /users/password(.:format) devise/passwords#create cancel_user_registration GET /users/cancel(.:format) devise/registrations#cancel new_user_registration GET /users/sign_up(.:format) devise/registrations#new edit_user_registration GET /users/edit(.:format) devise/registrations#edit user_registration PATCH /users(.:format) devise/registrations#update PUT /users(.:format) devise/registrations#update DELETE /users(.:format) devise/registrations#destroy POST /users(.:format) devise/registrations#create books GET /books(.:format) books#index POST /books(.:format) books#create new_book GET /books/new(.:format) books#new edit_book GET /books/:id/edit(.:format) books#edit book GET /books/:id(.:format) books#show PATCH /books/:id(.:format) books#update PUT /books/:id(.:format) books#update DELETE /books/:id(.:format) books#destroy
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/16 05:47
2020/05/16 06:13