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

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

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

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

Ruby on Rails 7

Ruby on Rails 7は、2021年12月に正式リリースされました。Ruby on Railsのバージョン7であり、フロントエンド開発環境を大幅に刷新。Node.jsを用いない構成がデフォルトになっています。

Q&A

0回答

357閲覧

自動削除機能が実行されない

退会済みユーザー

退会済みユーザー

総合スコア0

Ruby

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

Ruby on Rails 7

Ruby on Rails 7は、2021年12月に正式リリースされました。Ruby on Railsのバージョン7であり、フロントエンド開発環境を大幅に刷新。Node.jsを用いない構成がデフォルトになっています。

0グッド

0クリップ

投稿2022/10/11 00:40

前提

掲載日を超えると、自動で削除されるようにしていたが、DM機能を付けた後に
削除されず、エラーが発生した。
Mysql2::Error: Cannot delete or update a parent row: a foreign key constraint fails
と表示され調べると外部制約キーについての修正について書いており、plan.rbの
has_many :roomsに dependent: :destroyを付け足したところ下記のエラーが発生しました。

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

ActiveRecord::StatementInvalid at /plans/18 Mysql2::Error: Unknown column 'users.room_id' in 'where clause'

該当のソースコード

class Plan < ApplicationRecord has_many :rooms, dependent: :destroy belongs_to :user mount_uploader :photo, PhotoUploader validates :title, presence: true, length: { maximum: 50 } validates :photo, presence: true validates :detail, presence: true validates :conditions, presence: true validates :start_on, presence: true validates :end_on, presence: true end

・掲載後に削除する機能

plans_contorllers.rb/plan_destroy

1def plan_destroy 2 Plan.where('end_on < ?', Date.today).destroy_all 3 end

調べて、修正してもわからないので、アドバイスを頂けたら幸いです。

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

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

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

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

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

m.ts10806

2022/10/11 00:43

「自動削除」はどのように実行されてるのでしょう。 どう見ても何かしらのリクエストによって実行されてるようにしか見えないのですが。 ただ、本当に勝手に削除してしまっていいんですか? データの整合性とれなくなってるのでは? 設計思想等をきちんと伝えない限り、根本的な解決にはなりません。 設計から見直す必要があるかもしれませんし、それこそ小手先の実装レベルの話には思えません。
退会済みユーザー

退会済みユーザー

2022/10/11 01:04

すみません。 色々と再興した結果、掲載期間が過ぎたら、「掲載期間が終了した」と表示され、応募およびメッセージボタンが表示されないようにするということに変更しました。 質問後に変えてしまい、大変申し訳ありません。
m.ts10806

2022/10/11 01:07

仕様コロコロ変えすぎて実装が追い付いてないだけではないでしょうか(ずっと前からそんな感じ)
退会済みユーザー

退会済みユーザー

2022/10/11 01:14

ずっと前からそう感じていたのならば、誠に申し訳ないです。 仕様や設計書は書いてはいるのですが、開発していく中で違うなと思う部分が出てきたので、 まだまだ甘いなと自分自身、痛感しました。。。
m.ts10806

2022/10/11 01:32 編集

「小手先だけでなんとかするのではなく」のようなコメントは初めてではないと思うのですが、 伝わっていなかったようで残念です。 直前の質問でwinterboumさんに指摘されたことも全く活きてないと思います。 https://teratail.com/questions/o6716zt06tt5ce
退会済みユーザー

退会済みユーザー

2022/10/11 01:23

本当にすみません。 勉強がまだまだ足りず、私自身の理解力の低さが原因だと思っています。
m.ts10806

2022/10/11 01:29

謝る必要はなく(こちらも謝ってほしいわけではなく) 地道に階段を1段ずつ上ってもらいたいだけです。 せめて「赤の他人が読んで理解できる、現象を再現できる」くらいはやりましょう。 理解力関係ない部分です。あくまで配慮の問題(あと本当に解決する気があるかどうか)
退会済みユーザー

退会済みユーザー

2022/10/11 01:34

すみません。 なんかアドバイス得られたらな程度に気軽に質問をしてかもしれません。 まだまだうまく伝えられないので、もう少し起こっている現象や困っている箇所に対して。 相手が理解できるような質問できるよう配慮したいと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問