1

アプリケーションに認証を取得するためにDeviseをインストールしました。gem に関するすべての指示に従いましたが、その部分はうまくいったようです。

しかし、登録ページにリンクしようとすると、理解できないクレイジーなエラーが発生します...何らかの理由で、レールはデバイスコントローラーがどこにあるかを把握できません...

from: public/index.html.erb (公開ランディング ページ)

<div class ="getstarted">
  <table>
    <tr>
      <td id = "introtext"> 
        <p>Foo is good..l here is why: </p>
        <ul>
          <li>Improved quality</li>
          <li>Technology consistencies </li>
          <li>Cost efficiencies</li>
          <li>Increased security</li>
         <li>Improved adherence to compliance standards</li>
       </ul>    

      </td>
      <td id = "buttons">
        <%= button_to "Sign Up for an Account", new_user_registration_path, :method => "get" %>
        <br/>
        <%= button_to "Log In to your Account", new_user_session_path, :controller => "devise/session", :method => "get" %>
      </td>
    </tr>
  </table>

</div>

routes.rb には次の行があります。

 devise_for :users

Routes テーブルには必要なものがあるようです。

    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
       user_password POST   /users/password(.:format)                                  devise/passwords#create
   new_user_password GET    /users/password/new(.:format)                              devise/passwords#new
  edit_user_password GET    /users/password/edit(.:format)                             devise/passwords#edit
                     PUT    /users/password(.:format)                                  devise/passwords#update

cancel_user_registration GET /users/cancel(.:format) devise/registrations#cancel user_registration POST /users(.:format) devise/registrations#create new_user_registration GET /users/sign_up(.:format) devise/registrations#new edit_user_registration GET /users /edit(.:format) device/registrations#edit PUT /users(.:format) device/registrations#update DELETE /users(.:format) device/registrations#destroy

登録するボタンをクリックすると、次のリンクに移動します。

http://localhost:3000/users/sign_up?

そしてRailsは私にエラーを与えます:

No route matches {:controller=>"devise/public"}

ログインボタンについても同じです:

http://localhost:3000/users/sign_in?

No route matches {:controller=>"devise/public"}

「パブリック」のビューをパブリックに表示可能な(認証前)ページに設定しました...そして、Railsがdeviseディレクトリ(存在しない)内でそれを探していることがわかります。

私も削除しようとしましたか?URL の最後に...違いはありませんでした。

私は立ち往生しており、すでに数時間投資しています。誰かが私を助けてくれることを願っています。

4

1 に答える 1