Ruby on Rails 4.1.6에서 작업하고 있습니다. 두 개의 연관된 모델 (게시물 및 사용자)이 다른 모델 (설명)을 통해 있습니다.Rails : 새로 연결된 객체에 대한 새로운 조인 모델을 생성하지 않는 방법
사용자 모델 :
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 : 데이터베이스에서
는 다음과 같습니다 당신이 Post
모델에 가입 만들지 않고 User
에 관련된 만들 수 있도록 여기 has_many :users, through: :comments
협회가
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
나는 당신이 무엇을 요구하고 있는지 이해하지 못합니다. 자동으로 작성된 주석이 없어도 사용자가 게시물을 작성할 수 있는지 여부를 묻고 있습니까? – nikkon226
'Post' 레코드를 만드는 방법을 보여주십시오. –
나는 그것을 내 질문에 추가하고 좀 더 설명했다. – Damian