我在使用Rails 4应用程序时出现问题。现在,实例变量在设置后仍为零。在控制器中,我有以下代码:
def create
@reportdate = Reportdate.new(reportdate_params)
weekly_summary = getSOData(@reportdate.start_date, @reportdate.end_date)
@reportdate.questions = weekly_summary[:question_ids]
@reportdate.num_answers = weekly_summary[:answers]
@reportdate.views = weekly_summary[:views]
respond_to do |format|
if @reportdate.save
...
运行时,@reportdate.num_answers
和@reportdate.views
已设置,但@reportdate.questions
仍为nil
。
当我在调试器中运行它时,我确认weekly_summary[:question_ids]
等于
[21636454, 21539706, 21611661, 21632781, 21583630, 21614059, 21634704, 21615609, 21595829, 21564079, 21587196, 21537280]
。
之前曾经工作,我不知道它为什么现在不工作。
答案 0 :(得分:0)
def create
@reportdate = Reportdate.new(reportdate_params)
weekly_summary = getSOData(@reportdate.start_date, @reportdate.end_date)
@reportdate.questions = weekly_summary[:question_ids]
@reportdate.num_answers = weekly_summary[:answers]
@reportdate.views = weekly_summary[:views]
respond_to do |format|
if @reportdate.save
...
我认为答案超出了控制器的范围。我更改了上面的内容以反映操作中使用的数据,正如您所看到的,您接收数据的主要方式来自weekly_summary
方法
我会查看这些:
weekly_summary
是否正确填充变量? .questions
是Reportdate
对象的属性吗?如果没有,你有attr_accessor
吗?Reportdate
对象需要CamelCase
- 应为ReportDate
(这可能会导致问题)所有这些都指向应用程序的其他部分有问题
您可以发布Reportdate
模型和weekly_summary
代码吗?
答案 1 :(得分:0)
谢谢大家的回复。问题是我错误地设置了实例变量。我没想到我在代码的那一部分做了改变,但它不可能按照它的编写方式工作,所以我必须有。现在一切都已修好并正常工作。