我有以下代码。该死的,我坚持这个,我知道这很容易......
def create
@question = Question.create(:text => params[:question][:text], :security_token => "test"))
if success = @question.save
respondents = Respondent.find(:all)
respondents.each do |res|
Inquiry.create(:question_id=>res.question.id.to_i, :respondent_id=>res.id.to_i)
end
end
render :json => @question.to_ext_json(:success => success)
end
如你所见,我有3个表=>问题(id,text,security_token),受访者(id,电子邮件)和称为查询的关系表(id,questiond_id,respondent_id)。在我开始之前,我告诉我在我的电子邮件表中有3条记录。我想做以下事情:当我添加问题时,它还会查看我的表格中有多少封电子邮件(现在我已经按照我说的那样),并在inqury表中添加信息。 例如: 我需要在我的询问表中(在我添加问题之后):
id | questiond_id | respondent_id
1 | 2 | 1
2 | 2 | 2
3 | 2 | 3
我怎么做?我使用每一个,并检查我有多少电子邮件,但现在它不起作用,不知道为什么,我在我的代码中做错了什么?
答案 0 :(得分:2)
也许这个?
Inquiry.create(:question_id=>@question.id.to_i, :respondent_id=>res.id.to_i)
答案 1 :(得分:0)
这个控制器我在我的question_controller中。没关系。在名为questions
的表格中添加了问题。
def create
@question = Question.create(:text => params[:question][:text], :security_token => "test"))
render :json => @question.to_ext_json(:success => @question.save)
end
接下来,我有respondents
表(我有~3条记录)。好?好!清除!
我有第3个名为inquiries
的表。这是与id, question_id
和respondent_id
的关系表。好?好。清除!
我想要执行以下操作:当我添加question
时,它还会在question_id
表中添加信息(respondent_id
& inquiries
)。所以,如果我的电子邮件表中有3条记录,我应该在查询表中获得3条记录,对吧?右。
我在question_cotnroller
中添加了以下代码 def create
@question = Question.create(:text => params[:question][:text], :security_token => "test"))
if success = @question.save
respondents = Respondent.find(:all) #find all my respondent email
respondents.each do |res| # each do
Inquiry.create(:question_id=>res.question.id.to_i, :respondent_id=>res.id.to_i) #adding inti inquiries table.. BUT DOESNT:( WHY?
end
end
render :json => @question.to_ext_json(:success => success)
end
SO ..问题如下,这段代码有问题:...respondents.each do |res|...
,我的代码不好。
答案 2 :(得分:0)
现在问题不想被编辑:(
我的模特看起来:
class Question < ActiveRecord::Base
has_one :answer, :through => :inquiries #, :dependent => :destroy
belongs_to :inquiry #, :through => :enquiry
validates_presence_of :text, :message => "ERROR!"
end
class Inquiry < ActiveRecord::Base
belongs_to :question
belongs_to :respondent
has_one :answer
end
class Respondent < ActiveRecord::Base
has_many :inquiries
has_many :questions, :through => :inquiries
has_many :answers, :through => :inquiries
end
也许是模特的东西?