0
我有這兩種型號:的has_many或belongs_to的工作錯
class Answer < ActiveRecord::Base
belongs_to :user
belongs_to :question
has_many :edits, dependent: :destroy
end
class Question < ActiveRecord::Base
belongs_to :user
has_many :answers, dependent: :destroy
end
但是,當我在軌控制檯寫入以下內容:
q=Question.new
q.save
a=Answer.new
a.question = q
a.save
q.answers.size
它給了我零。
irb(main):026:0> q.answers.size
=> 0
但是,當我寫這篇文章:
Answer.where(:question_id => q.id).size
它給了我1
SO我該怎麼辦?
情況下你需要它 - 答案和問題遷移:
class CreateAnswers < ActiveRecord::Migration
def change
#execute "DROP TABLE #{:answers} CASCADE"
create_table :answers do |t|
t.text :body
t.references :user, index: true, foreign_key: true
t.references :question, index: true, foreign_key: true
t.timestamps null: false
end
end
end
class CreateQuestions < ActiveRecord::Migration
def change
#execute "DROP TABLE #{:questions} CASCADE"
create_table :questions do |t|
t.string :title
t.text :body
t.references :user, index: true, foreign_key: true
t.timestamps null: false
end
end
end
嘗試重新加載問題'q.reload' –
@Deepak它幫助,謝謝! – user2950593