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

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

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

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

Q&A

1回答

602閲覧

railsでsaveができない

ois

総合スコア50

Ruby on Rails 5

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

0グッド

0クリップ

投稿2017/12/01 05:43

編集2017/12/01 06:58

undefined method `to_sym' for #Proc:0x007ff05c4f4490というエラーが出てしまい、save処理が走りません。
該当コードは以下です。

【追記】
・Groupの定義
belongs_to :company
has_many :users

validates :name, presence: true,
uniqueness: {scope: ->{ where(del_flg: false) } }

・エラーのコード(to_symは私は処理としては入れていないです)
#controller

ruby

1Group.user_add(params[:group])

#model

ruby

1def self.user_add(param) 2 max_id = Group.maximum(:id) 3 id = max_id.present? ? max_id + 1 : 1 4 group = Group.new(name: param[:name], id:id, company_id: param[:company_id]) 5 group.save 6end

ちょっと上の説明はロジック部分を問題ない程度に省きましたが、実際の画面は以下です。
ここでは!group.saveとしてありますが、if分岐を全て無くしてgroup.saveのみでも同じエラーが発生しました。
イメージ説明

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

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

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

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

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

Takahito_Ogawa

2017/12/01 05:49

エラーメッセージの表示全体を見せていただいてもよろしいでしょうか。該当コードの中にto_symがありませんのでこれでは解決が難しいです。
scivola

2017/12/01 06:12

あと,Group の定義(とくに validation とか before_validation とか)が知りたいですね
Takahito_Ogawa

2017/12/01 06:47

明示的にto_symを処理として追加していないのであれば、Railsが内部で使用していると思います。エラー発生時に出るページ全体(関数のコールスタックなども含めて)をつけていただけると幸いです。(参考: https://i.stack.imgur.com/SLSM6.png)
guest

回答1

0

Schemaでデータベースに問題があるのかもです。

投稿2017/12/01 07:02

sweden1

総合スコア59

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問