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

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

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

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

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

Slim

SlimはPHPアプリケーションを開発するための軽量なマイクロフレームワークです。

Q&A

解決済

1回答

9685閲覧

【Rails5】wrong constant name *** に苦しんでます。

退会済みユーザー

退会済みユーザー

総合スコア0

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

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

Slim

SlimはPHPアプリケーションを開発するための軽量なマイクロフレームワークです。

0グッド

0クリップ

投稿2017/09/06 02:18

編集2017/09/06 02:25

原因わかる方いらっしゃいますか。

イメージ説明

前提

前提

前提内容
既にある新規ホスト(host)登録フォームに「法人か?それ以外か?」のラジオを追加したい。
カラム名はtypeにした。
下記のコードを使ってラジオボタンを実装
しかし送信すると wrong constant name companyまたはwrong constant name otherと出力されて、エラーになる。

コード

フォームのslim

.form-group.row .col-lg-4 = f.label :kind,class:'col-form-label' .col-lg-8 = f.radio_button(:kind, "company",id:'company') = f.label :company ,class:'radio' ,id:'company',for:'company' = f.radio_button(:kind, "other",id:'other') = f.label :other ,class:'radio' ,id:'other' ,for:'other'

controller

def new @host = Host.new end def create @host = Host.new(host_params) if @host.save @host.send_activation_email flash[:info] = "ホスト本登録メールを送信しました。ご確認ください。" redirect_to [:host,:root] else render 'new' end end private def host_params params.require(:host).permit(:name,:type,:email,:tel,:password,:password_confirmation) end

...よろしくお願いします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

カラム名はtypeにした。

typeというカラム名は、STIという機能のために使われるものなので、普通のデータを入れてしまうと上手く動きません。

対策法は、以下のどちらかです(Qiita)。

  • typeでない、別のカラム名を使う
  • Hostのクラスにself.inheritance_column = :_type_disabledのような行を書き足して、STIを止める

あと、本題ではありませんが、インデントが崩れているのと、モデルクラスのHostを名前空間にしていることが気になりました。

投稿2017/09/06 02:27

maisumakun

総合スコア145183

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

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

退会済みユーザー

退会済みユーザー

2017/09/06 02:59

maisumakunさん、本当にありがとうございます。無事にできました!! インデントに関しては画像のrubyのファイルですか?それともslimの方ですか? atomでプログラムを組んでいるのですが、些細なコピー&ペーストをする時なども どうしてもインデントが崩れて苦労しています...。 「モデルクラスのHostを名前空間にしていること」のQiitaの記事に関しては 今日中に熟読することにしました。全く知りませんでした、、、なんとか対策してみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問