Ruby on rails 未在Rails 4中设置实例变量
我遇到了一个Rails 4应用程序的问题,这个应用程序曾经运行得非常好。现在,实例变量在设置后保持为零。在控制器中,我有以下代码:Ruby on rails 未在Rails 4中设置实例变量,ruby-on-rails,Ruby On Rails,我遇到了一个Rails 4应用程序的问题,这个应用程序曾经运行得非常好。现在,实例变量在设置后保持为零。在控制器中,我有以下代码: def create @reportdate = Reportdate.new(reportdate_params) weekly_summary = getSOData(@reportdate.start_date, @reportdate.end_date) @reportdate.questions = weekly_summary[:questi
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\u回答
和@reportdate.views
已设置,但@reportdate.questions
仍为nil
当我在调试器中运行它时,我验证了weekly\u summary[:question\u id]
等于
[2163645421539706、2161661、21632781、21583630、21614059、21634704、21615609、21595829、21564079、21587196、21537280]
这以前是可行的,我不知道为什么现在不行了
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\u summary
方法
我想检查一下:
weekly\u summary
是否正确填充变量李>
.questions
是Reportdate
对象的属性吗?如果没有,您是否有属性访问器Reportdate
对象需要是-应该是Reportdate
(这可能会导致问题)所有这些都指向应用程序的其他部分存在问题
请发布您的
报告日期
模型和每周摘要
代码好吗?谢谢大家的回复。问题是我没有正确设置实例变量。我不认为我对代码的这一部分做了更改,但不可能按照编写的方式工作,所以我必须这样做。所有这些都已修复并正在运行。什么类型的setter/数据库列是问题
?我认为问题出在Reportdate
modelsetter中。当你把调试器放在@Reportdate后面时,它已经是零了吗?每周摘要[:问题ID]不是吗?是否有可能.save
由于验证错误或其他原因正在清除该字段?请尝试save代码>。正如@phoet所说,可能是验证错误。