ghwohg
@ghwohg

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

railsでの未定義のエラーについて

Ruby on Railsで以下ようなエラーが出ました。
homesのindexが未定義ということだと思うのですが、どのように定義をしたらいいでしょうか。

発生している問題・エラー

NoMethodError in Homes#index
Showing /home/ec2-user/environment/inn/app/views/layouts/application.html.erb where line #30 raised:

undefined method `create_user_path' for #<#<Class:0x00007f737004b1f0>:0x00007f737004a0c0>

該当するソースコード

<li class="rogin"><%= link_to "ログイン", :create_user  %></li>
<!DOCTYPE html>
<html>
  <head>
    <title>Inn</title>
    <%= csrf_meta_tags %>

    <%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track': 'reload' %>
    <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
  </head>

  <body>
   <header class="header">
  <div class="header-inner">
    <div class="header-left-nav">
        <a href="/"><img alt="サイトのロゴ画像" src="https://presite-potepancamp-rails-02.herokuapp.com/assets/logo.png"></a>
        
        <div class="header-sharch d-lg-inline-block d-none">
          <input type="text" name="area" id="area" value="" class="form-control" placeholder="エリア">
          <i class="fas fa-map-marker-alt"></i>
        </div>
        <div class="header-sharch d-lg-inline-block d-none">
          <input type="text" name="keyword" id="keyword" value="" class="form-control" placeholder="キーワード">
          <i class="fas fa-search"></i>
        </div>
        <input type="submit" name="commit" value="" class="d-none" data-disable-with="">
</form>    </div>
    <div class="header-right-nav">
        <div class="nav-item">
          <ul>
            <li class="rogin"><%= link_to "ログイン", :create_user  %></li>
            <li class="register"><%= link_to "登録する", :new_user  %></li>
          </ul>
        </div>
    </div>
  </div>
</header>
<footer class="footer">
    <p>© 2020 POTEPAN.INC.</p>
</footer>
    <%= yield %>
  </body>
</html>

class HomesController < ApplicationController
  def index
    
  end
  
  def new
    @home = Home.new
  end
 
  def create
  end
 
  def show
  end
 
  def edit
  end
 
  def update
  end
 
  def destroy
  end
end

0

1Answer

24行~26行の謎の</form>とインデントのズレも気になりますが…
ひとまず置いておいて。
<li class="rogin"><%= link_to "ログイン", :create_user %></li>
のリンクをクリックした後、
create_user_pathというルートに対応したアクション(ないしメソッド)が
定義されていないと言われています。
rails routesコマンドでルーティングを確認してみてはどうでしょうか。

0Like

Your answer might help someone💌