Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 未在Rails 4中设置实例变量_Ruby On Rails - Fatal编程技术网

Ruby on rails 未在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

我遇到了一个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\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所说,可能是验证错误。