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

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

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

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

Q&A

解決済

1回答

1045閲覧

ユーザー登録ができない

退会済みユーザー

退会済みユーザー

総合スコア0

Ruby on Rails

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

1グッド

1クリップ

投稿2020/03/12 12:12

編集2020/03/12 23:30

・前提・実現したいこと
Railsアプリでユーザー登録したい

・発生している問題・エラーメッセージ
Railsアプリを作ってる時にユーザー登録しようとするとエラーになってしまいました。
UserコントローラーのCreateメソッドにcontentはないのですが。
PostコントローラーのCreateメソッドにはcontentはあるので、それが影響しているのでしょうか。
すみませんが、アドバイスをお願いします。

・ソースコード

rails

1 def create 2 @user = User.new(name: params[:name], email: params[:email]) 3 @user.save 4 redirect_to users_path 5 end

https://github.com/mkakiz/DayShare

・問題の発生した環境
Rails5
Docker
Mac

イメージ説明

・試したこと

rails

1$ rails console 2> user = User.new(name: 'cat', email: 'cat@example.com') 3> user.save 4 (0.6ms) BEGIN 5 (0.7ms) ROLLBACK 6NoMethodError: undefined method `content' for #<User:0x0000562feb919878> 7Did you mean? concern 8 from /usr/local/bundle/gems/activemodel-5.0.7.2/lib/active_model/attribute_methods.rb:433:in `method_missing' 9 from /usr/local/bundle/gems/activemodel-5.0.7.2/lib/active_model/validator.rb:149:in `block in validate' 10 from /usr/local/bundle/gems/activemodel-5.0.7.2/lib/active_model/validator.rb:148:in `each' 11 from /usr/local/bundle/gems/activemodel-5.0.7.2/lib/active_model/validator.rb:148:in `validate' 12 from /usr/local/bundle/gems/activesupport-5.0.7.2/lib/active_support/callbacks.rb:405:in `public_send' 13 from /usr/local/bundle/gems/activesupport-5.0.7.2/lib/active_support/callbacks.rb:405:in `block in make_lambda' 14 from /usr/local/bundle/gems/activesupport-5.0.7.2/lib/active_support/callbacks.rb:169:in `block (2 levels) in halting' 15 from /usr/local/bundle/gems/activesupport-5.0.7.2/lib/active_support/callbacks.rb:547:in `block (2 levels) in default_terminator' 16 from /usr/local/bundle/gems/activesupport-5.0.7.2/lib/active_support/callbacks.rb:546:in `catch' 17 from /usr/local/bundle/gems/activesupport-5.0.7.2/lib/active_support/callbacks.rb:546:in `block in default_terminator' 18 from /usr/local/bundle/gems/activesupport-5.0.7.2/lib/active_support/callbacks.rb:170:in `block in halting' 19 from /usr/local/bundle/gems/activesupport-5.0.7.2/lib/active_support/callbacks.rb:454:in `block in call' 20 from /usr/local/bundle/gems/activesupport-5.0.7.2/lib/active_support/callbacks.rb:454:in `each' 21 from /usr/local/bundle/gems/activesupport-5.0.7.2/lib/active_support/callbacks.rb:454:in `call' 22 from /usr/local/bundle/gems/activesupport-5.0.7.2/lib/active_support/callbacks.rb:101:in `__run_callbacks__' 23 from /usr/local/bundle/gems/activesupport-5.0.7.2/lib/active_support/callbacks.rb:750:in `_run_validate_callbacks' 24... 23 levels... 25 from /usr/local/bundle/gems/railties-5.0.7.2/lib/rails/commands/console_helper.rb:9:in `start' 26 from /usr/local/bundle/gems/railties-5.0.7.2/lib/rails/commands/commands_tasks.rb:78:in `console' 27 from /usr/local/bundle/gems/railties-5.0.7.2/lib/rails/commands/commands_tasks.rb:49:in `run_command!' 28 from /usr/local/bundle/gems/railties-5.0.7.2/lib/rails/commands.rb:18:in `<top (required)>' 29 from /usr/local/bundle/gems/activesupport-5.0.7.2/lib/active_support/dependencies.rb:293:in `require' 30 from /usr/local/bundle/gems/activesupport-5.0.7.2/lib/active_support/dependencies.rb:293:in `block in require' 31 from /usr/local/bundle/gems/activesupport-5.0.7.2/lib/active_support/dependencies.rb:259:in `load_dependency' 32 from /usr/local/bundle/gems/activesupport-5.0.7.2/lib/active_support/dependencies.rb:293:in `require' 33 from /app/bin/rails:9:in `<top (required)>' 34 from /usr/local/bundle/gems/activesupport-5.0.7.2/lib/active_support/dependencies.rb:287:in `load' 35 from /usr/local/bundle/gems/activesupport-5.0.7.2/lib/active_support/dependencies.rb:287:in `block in load' 36 from /usr/local/bundle/gems/activesupport-5.0.7.2/lib/active_support/dependencies.rb:259:in `load_dependency' 37 from /usr/local/bundle/gems/activesupport-5.0.7.2/lib/active_support/dependencies.rb:287:in `load' 38 from /usr/local/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:54:in `require' 39 from /usr/local/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:54:in `require' 40 from -e:1:in `<main>'
s.k👍を押しています

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

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

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

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

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

no1knows

2020/03/12 13:04

少なくとも下記くらいは対応いただくと、今後同じような問題でこのページを見たときに参考になるかと思いますので、この質問を編集してもらえると良いかと思います。 ・該当しそうなコードの箇所を抜き出す。 ・コードはcodeタグを使って見やすくする。 ・自分で試したことなど。 githubのリンクは、そのリポジトリを消したらなんの質問かも分からなくなりますし。 あと質問を編集画面でテンプレートというものがあります。そちらを利用して編集するとより良いと思います。
winterboum

2020/03/12 21:11

あと、 エラーメッセージは省略せずに載せる
退会済みユーザー

退会済みユーザー

2020/03/12 22:59

コメントありがとうございます。 エラーメッセージなどを追加しました。 内容を見て頂ければ幸いです。
guest

回答1

0

ベストアンサー

application_record.rbの設定が原因でエラーが表示されています。
application_record.rbの設定は、継承したクラスに全てに適応されます。

Ruby

1#application_record.rb 2 3class ApplicationRecord < ActiveRecord::Base 4 self.abstract_class = true 5 validates :content, {presence: true, length: {maximum: 100}} 6end

あと関係ないですが、現在のコードではStrong Parameterを利用していないためセキュリティ的に問題があります。意図してやっているのであれば以下はスルーして下さい。

もしRailsの初学者であれば、まずscaffoldを利用することをおすすめします。
理由はRailsのレールに乗った実装のお手本はセキュリティ対策も含めてscaffoldだからです。
参考:https://udemy.benesse.co.jp/development/web/scaffold.html

そしてscaffoldを実行してできたファイルをベースに変更していく形が望ましいです。

その中でどのコードが何をしているかきちんと理解できるようになるとぐっと理解が深まるかと思います。
参考:http://kanjihtmt.github.io/blog/2015/04/02/scaffold/

またチームで開発するときにRailsのレールに乗ったわかりやすいコードになるのでメリットが多いかと思います。

投稿2020/03/13 01:15

no1knows

総合スコア3365

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

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

退会済みユーザー

退会済みユーザー

2020/03/13 01:44

回答ありがとうございました。 strong parameterは外部へ公開前に設定しようかと思ってます。 Scaffoldは便利すぎて学習にはどうか?というコメントをどこかで見たので触らないでいました。 学習が深まるのであれば試していこうと思います。
no1knows

2020/03/13 02:01

回答を見てから勉強する人と、まず公式などを勉強をする人がいます。 どちらがいいかは明白なのですが、学習のやり方は人それぞれなのでなんとも言えないです。。。 大切なのはフレームワークを活用することとソースを理解することだと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問