0

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 
+0

나는 당신이 무엇을 요구하고 있는지 이해하지 못합니다. 자동으로 작성된 주석이 없어도 사용자가 게시물을 작성할 수 있는지 여부를 묻고 있습니까? – nikkon226

+1

'Post' 레코드를 만드는 방법을 보여주십시오. –

+0

나는 그것을 내 질문에 추가하고 좀 더 설명했다. – Damian

답변

1

-Comment합니다. 이것은 데이터 모델의 결과입니다.

+0

그래서 같은 funcionallity로 어떻게 할 수 있습니까? – Damian