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

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

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

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

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

Q&A

解決済

1回答

3278閲覧

「rails s」や「rails c」が起動しない

lapi

総合スコア58

Ruby

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

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

0グッド

0クリップ

投稿2017/03/21 13:05

編集2017/03/21 14:24

###前提・実現したいこと
rails4で開発中。

ブログ機能にコメント機能を実装するためにコメントコントローラー、コメントモデルを作成しアソシエーションを定義しました。
必要なviewなどを作成し、「rails s」を実行したらエラーが出て起動しません。

###発生している問題・エラーメッセージ

$ rails c /Users/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0/gems/activerecord-4.2.3/lib/active_record/associations/builder/association.rb:140:in `check_dependent_options': The :dependent option must be one of [:destroy, :delete_all, :nullify, :restrict_with_error, :restrict_with_exception], but is :destro (ArgumentError) 省略

このようなエラーが出て、調べてもみたのですが解決できず、「rails c」を実行した際も同じようなエラーが出ます。

###試したこと
原因の部分はアソシエーションの部分なのかと思いアソシエーションを一度全て削除したり、コントローラーを削除したりしてみましたが解決できませんでした。

どのように対処したらいいかご教授頂けると助かります。
よろしくお願いします。

###コード
アソシエーションはこのように定義しています

ブログ機能的なthreモデル[thre.rb]

thre.rb

1class Thre < ActiveRecord::Base 2 belongs_to :user 3 # CommentthモデルのAssociationを設定 4 has_many :commentths, dependent: :destroy 5end

userモデル

user.rb

1class User < ActiveRecord::Base 2 # Include default devise modules. Others available are: 3 # :confirmable, :lockable, :timeoutable and :omniauthable 4 5 一部省略 6 7 # UserモデルのレコードがThreモデルのレコードを複数もつことを定義 8 has_many :thres, dependent: :destroy 9 10 # CommentthモデルのAssociationを設定 11 has_many :commentths, dependent: :destroy 12 13 省略 14end

commentthモデル

class Commentth < ActiveRecord::Base belongs_to :user belongs_to :thre end

現在アソシエーションはこのように記述しています。

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2017/03/21 14:04

アソシエーションを定義している部分のコードを記載すると、回答が付きやすくなりそうですよ。
lapi

2017/03/21 14:25

アドバイスありがとうございます。アソシエーションを定義している部分のコードを記載致しました。
guest

回答1

0

ベストアンサー

エラーメッセージに書いてある通り、destroy のつもりで destro と書いてある箇所があるのだと思います。

投稿2017/03/21 14:34

ryochin

総合スコア280

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

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

lapi

2017/03/21 14:37

ご回答ありがとうございます。 他のアソシエーションを定義していた部分を誤ってyを一文字削除してしまっていたようで、解決することできました。 ご回答ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問