質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

4回答

737閲覧

railsにて新規登録を実装を試みたが、NoMethodError in Users#indexのエラーが出る。

Aokichingo

総合スコア10

Ruby on Rails 5

Ruby on Rails 5は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

1クリップ

投稿2019/07/03 09:11

編集2019/07/10 02:13

以下がコードです

user.rb

class User < ApplicationRecord has_secure_password validates :name, {presence: true} validates :email, {presence: true, uniqueness: true} end

routes.rb

Rails.application.routes.draw do root 'users#index' namespace :admin do resources:users end resources:posts # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html end

users_controller.rb

class UsersController < ApplicationController def index @users = User.all end def create @users = User.new(user_params) @user.save redirect_to 'posts#index' end private def user_params params.require(:user).permit(:name,:email,:admin,:password,:password_confirmation) end end

index.html.erb

<h1>新規登録</h1> <%= link_to 'トップへ',posts_path %> <%= form_with model:[:admin, @user],local:true do |f| %> <%= f.text_field :name %> <%= f.text_field :email %> <%= f.cheak_box :admin,class: 'form-check-input' %> <%= f.text_field :password%> <%= f.text_field :password_confirmation%> <%= f.submit %> <% end %>

20190702021155_add_admin_to_users.rb

class CreateUsers < ActiveRecord::Migration[5.0] def change create_table :users do |t| t.string :name, null:false t.string :email, null:false t.string :password_digest, null:false t.timestamps t.index :email, unique:true end end end

20190703021554_add_image_to_post.rb

class AddAdminToUsers < ActiveRecord::Migration[5.0] def change add_column :users, :admin, :boolean, default: false end end

index.html.erbの<%= form_with model:[:admin, @user],local:true do |f| %>にエラーが出ます
よろしくお願いします。

イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

index.html.erbの<%= form_with model:[:admin, @user],local:true do |f| %>にエラーが出ます よろしくお願いします。

とありますが、エラーメッセージでは
<%= form_for model:[:admin, @user],local:true do |f| %>
になっています。
form_with だとどうなりますか?

投稿2019/07/08 07:51

winterboum

総合スコア23329

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Aokichingo

2019/07/10 02:14

ダメでした。画像は更新しています。すいません。
winterboum

2019/07/10 02:49

Mugheartさんが Railsのversionを懸念されてますが、versionは?
guest

0

NoMethodError in Users#index にはどの 名前 が、なのかの情報も付いていると思います。質問でそれを落とすと解決が長引きます。

password がないと言われてますね、多分。
Userには passwrd も password_confermation もないと思います。
ユーザ登録画面とかパスワード変更画面とかに出てくるだけ。

db/schema.rb そみるとUserにどういう項目があるかわかりますから、そこにあるもの、
もしくは、Userモデルで定義したmethodなど
である必要があります

投稿2019/07/03 21:04

winterboum

総合スコア23329

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Aokichingo

2019/07/08 07:02

エラーメッセージを載せたので見てください
guest

0

Mugheatさんの指摘の他に気になるのが @userの単数形と複数形の使い分けがおかしいところがあります。
単数形複数形は厳密に使い分けて下さい。

Railsシステムが、単複で動作が変わることがあります。
codeを読む人間が勘違いします。

今回は後者ですが。

例えばここ、間違いですよね

def create @users = User.new(user_params) @user.save redirect_to 'posts#index' end

投稿2019/07/03 20:21

winterboum

総合スコア23329

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Aokichingo

2019/07/08 07:03

@usersから@userに変えましたがダメです。
guest

0

erb

1<%= form_with model:[:admin, @user],local:true do |f| %>

@userってのはどこで用意されてるんですか?

質問が編集されたので回答を変えます。

とはいえ、↑の問題にはそのうちぶつかるかと思います。

form_withはRails5.1+で使えるヘルパーです。
おそらくRailsのバージョンが足りてないのではないでしょうか。

投稿2019/07/03 09:48

編集2019/07/10 02:33
Mugheart

総合スコア2344

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Aokichingo

2019/07/08 07:06

コントローラーで @user = User.newと入れていますが違いますか?
Mugheart

2019/07/08 08:55

def index @users = User.all end どこの話でしょうか...。
Aokichingo

2019/07/10 02:15

def index @users = User.all end です。すいません。
Aokichingo

2019/07/15 01:56

gem 'rails', '~> 5.0.0'をgem 'rails', '~> 5.2.3'に変更し bundle install rails rails -v Rails 5.2.3 になったが ec2-user:~/environment/app (master) $ rails s => Booting Puma => Rails 5.2.3 application starting in development => Run `rails server -h` for more startup options Exiting Traceback (most recent call last): 73: from bin/rails:4:in `<main>' 72: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:291:in `require' 71: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:257:in `load_dependency' 70: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:291:in `block in require' 69: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/bootsnap-1.4.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require' 68: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/bootsnap-1.4.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `require_with_bootsnap_lfi' 67: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/bootsnap-1.4.4/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register' 66: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/bootsnap-1.4.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `block in require_with_bootsnap_lfi' 65: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/bootsnap-1.4.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require' 64: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/railties-5.2.3/lib/rails/commands.rb:18:in `<main>' 63: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/railties-5.2.3/lib/rails/command.rb:46:in `invoke' 62: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/railties-5.2.3/lib/rails/command/base.rb:65:in `perform' 61: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/thor-0.20.3/lib/thor.rb:387:in `dispatch' 60: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/thor-0.20.3/lib/thor/invocation.rb:126:in `invoke_command' 59: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/thor-0.20.3/lib/thor/command.rb:27:in `run' 58: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/railties-5.2.3/lib/rails/commands/server/server_command.rb:142:in `perform' 57: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/railties-5.2.3/lib/rails/commands/server/server_command.rb:142:in `tap' 56: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/railties-5.2.3/lib/rails/commands/server/server_command.rb:147:in `block in perform' 55: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/railties-5.2.3/lib/rails/commands/server/server_command.rb:51:in `start' 54: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/railties-5.2.3/lib/rails/commands/server/server_command.rb:89:in `log_to_stdout' 53: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/rack-2.0.7/lib/rack/server.rb:354:in `wrapped_app' 52: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/railties-5.2.3/lib/rails/commands/server/server_command.rb:27:in `app' 51: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/rack-2.0.7/lib/rack/server.rb:219:in `app' 50: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/rack-2.0.7/lib/rack/server.rb:319:in `build_app_and_options_from_config' 49: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/rack-2.0.7/lib/rack/builder.rb:40:in `parse_file' 48: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/rack-2.0.7/lib/rack/builder.rb:49:in `new_from_string' 47: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/rack-2.0.7/lib/rack/builder.rb:49:in `eval' 46: from config.ru:in `<main>' 45: from config.ru:in `new' 44: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/rack-2.0.7/lib/rack/builder.rb:55:in `initialize' 43: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/rack-2.0.7/lib/rack/builder.rb:55:in `instance_eval' 42: from config.ru:3:in `block in <main>' 41: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/bootsnap-1.4.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:48:in `require_relative' 40: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:291:in `require' 39: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:257:in `load_dependency' 38: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:291:in `block in require' 37: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/bootsnap-1.4.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in `require' 36: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/bootsnap-1.4.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:21:in `require_with_bootsnap_lfi' 35: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/bootsnap-1.4.4/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register' 34: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/bootsnap-1.4.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `block in require_with_bootsnap_lfi' 33: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/bootsnap-1.4.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require' 32: from /home/ec2-user/environment/app/config/environment.rb:5:in `<main>' 31: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/railties-5.2.3/lib/rails/application.rb:361:in `initialize!' 30: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/railties-5.2.3/lib/rails/initializable.rb:60:in `run_initializers' 29: from /home/ec2-user/.rvm/rubies/ruby-2.6.3/lib/ruby/2.6.0/tsort.rb:205:in `tsort_each' 28: from /home/ec2-user/.rvm/rubies/ruby-2.6.3/lib/ruby/2.6.0/tsort.rb:226:in `tsort_each' 27: from /home/ec2-user/.rvm/rubies/ruby-2.6.3/lib/ruby/2.6.0/tsort.rb:347:in `each_strongly_connected_component' 26: from /home/ec2-user/.rvm/rubies/ruby-2.6.3/lib/ruby/2.6.0/tsort.rb:347:in `call' 25: from /home/ec2-user/.rvm/rubies/ruby-2.6.3/lib/ruby/2.6.0/tsort.rb:347:in `each' 24: from /home/ec2-user/.rvm/rubies/ruby-2.6.3/lib/ruby/2.6.0/tsort.rb:349:in `block in each_strongly_connected_component' 23: from /home/ec2-user/.rvm/rubies/ruby-2.6.3/lib/ruby/2.6.0/tsort.rb:415:in `each_strongly_connected_component_from' 22: from /home/ec2-user/.rvm/rubies/ruby-2.6.3/lib/ruby/2.6.0/tsort.rb:415:in `call' 21: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/railties-5.2.3/lib/rails/initializable.rb:50:in `tsort_each_child' 20: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/railties-5.2.3/lib/rails/initializable.rb:50:in `each' 19: from /home/ec2-user/.rvm/rubies/ruby-2.6.3/lib/ruby/2.6.0/tsort.rb:421:in `block in each_strongly_connected_component_from' 18: from /home/ec2-user/.rvm/rubies/ruby-2.6.3/lib/ruby/2.6.0/tsort.rb:431:in `each_strongly_connected_component_from' 17: from /home/ec2-user/.rvm/rubies/ruby-2.6.3/lib/ruby/2.6.0/tsort.rb:422:in `block (2 levels) in each_strongly_connected_component_from' 16: from /home/ec2-user/.rvm/rubies/ruby-2.6.3/lib/ruby/2.6.0/tsort.rb:350:in `block (2 levels) in each_strongly_connected_component' 15: from /home/ec2-user/.rvm/rubies/ruby-2.6.3/lib/ruby/2.6.0/tsort.rb:228:in `block in tsort_each' 14: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/railties-5.2.3/lib/rails/initializable.rb:61:in `block in run_initializers' 13: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/railties-5.2.3/lib/rails/initializable.rb:32:in `run' 12: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/railties-5.2.3/lib/rails/initializable.rb:32:in `instance_exec' 11: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/railties-5.2.3/lib/rails/engine.rb:613:in `block in <class:Engine>' 10: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/railties-5.2.3/lib/rails/engine.rb:613:in `each' 9: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/railties-5.2.3/lib/rails/engine.rb:614:in `block (2 levels) in <class:Engine>' 8: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/railties-5.2.3/lib/rails/engine.rb:656:in `load_config_initializer' 7: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/activesupport-5.2.3/lib/active_support/notifications.rb:170:in `instrument' 6: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/railties-5.2.3/lib/rails/engine.rb:657:in `block in load_config_initializer' 5: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:285:in `load' 4: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:257:in `load_dependency' 3: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/activesupport-5.2.3/lib/active_support/dependencies.rb:285:in `block in load' 2: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/bootsnap-1.4.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:54:in `load' 1: from /home/ec2-user/.rvm/gems/ruby-2.6.3/gems/bootsnap-1.4.4/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:54:in `load' /home/ec2-user/environment/app/config/initializers/new_framework_defaults.rb:21:in `<main>': undefined method `halt_callback_chains_on_return_false=' for ActiveSupport:Module (NoMethodError) となり立ち上がりません。
Mugheart

2019/07/15 02:21

Railsアプリケーション自体をアップデートする必要があります。 $ rails app:update 必要なところを上書き更新してください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問