Ruby on Rails 4.1.6 で作業しています。別のモデル (コメント) を介して 2 つの関連付けられたモデル (投稿とユーザー) があります。
ユーザーモデル:
class User < ActiveRecord::Base
has_many :comments, dependent: :destroy
has_many :posts, through: :comments
end
投稿モデル:
class Post < ActiveRecord::Base
has_many :comments, dependent: :destroy, :autosave => false
has_many :users, through: :comments
end
コメントモデル:
class Comment < ActiveRecord::Base
belongs_to :post, counter_cache: :comments_count
belongs_to :user
end
新しい投稿を作成しているときに、空のコンテンツを含む新しい結合モデル コメントを作成します。その自動作成をオフにする方法はありますか?
編集:
次のように、データベースに sample_data.rake ファイルを入力しています。
.
.
.
users = neighborhood.users.limit(6)
category = PostCategory.find(1)
50.times do
title = Faker::Lorem.sentence(1)
content = Faker::Lorem.sentence(10)
users.each { |user| user.posts.create!(title: title, content: content, neighborhood: neighborhood, user: user, post_category: category) }
end
そして、ユーザー向けの新しい投稿を作成しているときに、不要なコメントも作成されます。
編集2:
データベースでは、次のようになります。
id | user_id | post_id | content | created_at | updated_at
-----+---------+---------+---------+----------------------------+----------------------------
1 | 100 | 1 | | 2014-10-30 15:36:52.141408 | 2014-10-30 15:36:52.141408
2 | 99 | 2 | | 2014-10-30 15:36:52.173397 | 2014-10-30 15:36:52.173397
.
.
.
297 | 98 | 297 | | 2014-10-30 15:37:00.184889 | 2014-10-30 15:37:00.184889
298 | 97 | 298 | | 2014-10-30 15:37:00.215618 | 2014-10-30 15:37:00.215618
299 | 96 | 299 | | 2014-10-30 15:37:00.237478 | 2014-10-30 15:37:00.237478
300 | 95 | 300 | | 2014-10-30 15:37:00.258608 | 2014-10-30 15:37:00.258608