我有一个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]。
这以前是有效的,但我不知道为什么它现在不起作用。
发布于 2014-05-13 15:03:44
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方法
我会检查以下内容:
.questions Reportdate对象的属性?如果没有,你是否有一个attr_accessorReportdate object needs to be CamelCase - have be ReportDate (这可能会导致问题)所有这些都表明应用程序的其他部分存在问题
你能把你的Reportdate模型和weekly_summary代码贴出来吗?
发布于 2014-05-14 01:06:08
感谢大家的回复。问题是我没有正确地设置实例变量。我不认为我对那部分代码做了改动,但它不可能按照它的编写方式工作,所以我必须这样做。现在,一切都已修复并正常工作。
https://stackoverflow.com/questions/23619318
复制相似问题