

はじめまして。

Ruby on
Railsでdeviseを導入し、localhost:3000/loginにアクセスすると、ActionController::UrlGenerationError
in Devise::Sessions#newというエラーが出ます。

具体的にはページヘッダのlink_toの部分でエラーが発生しました。

[code]

         </button>
        <ul class="list-group" id="menu-list">
        <li class="list-group-item list-group-item-action"><%= link_to "テスト1", :controller => "career", :action => "index" %></li>
        <li class="list-group-item list-group-item-action"><%= link_to "テスト2", :controller => "skill", :action => "index" %></li>
      </ul>
      </div>
    
[/code]

エラーには以下のように出ているので、link_toのコントローラー指定の部分で、最初にdevise/が付いてしまっているので、URLが見つからないとエラーが出ているようです。

No route matches {:action=>"index", :controller=>"devise/career"}

ちなみにroutes.rbのdeviseの部分は以下のようになっており、上記のエラーの箇所を削除するとエラーは発生せず、正常にログイン画面へ遷移します。

[code]

      devise_for :users
      devise_scope :user do
        get 'login', to: 'devise/sessions#new'
      end
    
[/code]

deviseがコントローラ指定の最初の部分に付く原因は何でしょうか。  
また、deviseが付かないようにするためにはどのようにすればよいのでしょうか。

初歩的な事かもしれませんが、ご教授いただければ幸いでございます。


CC BY-SA 4.0
2018-09-15T08:12:13.960
48423
2023-04-27T07:01:55.217
2018-09-15T16:09:05.893
19110
30120
question
ruby-on-rails ruby devise
Devise導入後にlink_toの箇所でエラーが出る


[ActionController::UrlGenerationError in Devise::Sessions#newが発生した -
一山いくらの足軽プログラマ](http://hito-yama-guri.hatenablog.com/entry/2016/01/13/234316)

こちら参考になりませんでしょうか？

恐らく`/`を付けないとdeviseパッケージ内のcontrollerを探しに行くのではないでしょうか。


CC BY-SA 4.0
2019-01-13T05:43:21.030
51936
2019-01-13T05:43:21.030
31669
48423
answer