Ruby尝试在打开变量之前评估变量并给出错误,因为它认为我将其作为方法给出了它

时间:2014-08-13 14:34:40

标签: ruby-on-rails ruby ruby-on-rails-3 ruby-on-rails-4 checkbox

嗯,我认为这个问题听起来很奇怪,但那就是它的本质。

def omg


  logger.info "checkbox ticked" + params[:attribute].to_s

  @devices   =Device.all
  attributes = params[:attribute]

  logger.info attributes

  @devices.each do |device|

    attributes.each do |x|

      y="device.x.to_s"


      logger.info device.x
      @payload = params[:message] #+ device.x.to_s

    end

    APNS.send_notification(device.token.to_s, @payload)

  end
end

问题很简单,但我想我不知道该做什么,因为我刚接触红宝石。

问题出在嵌套循环的内部。

  

参数:{" utf8" =>"✓"," authenticity_token" =>" LnVMA3CcDftN42bqpfBESlv5uFMnDVVwtSxkG6pV6QM =",& #34;属性" => [" last_name","昵称"],"消息" =>" asdf", "提交" =>"复选框测试"}   复选框勾选[" last_name","昵称"]   [" last_name","昵称"]

这是控制台日志和我的参数

现在它运行顺畅,当我创建device.nickname或device.first_name它们存储在我的设备对象中。我从复选框中获取我的属性,我需要根据复选框输入发送有效负载

它应该具有求值变量并将device.x设置为device.nickname和device.last_name,但它会尝试将x作为方法运行。但不是。

我该如何绕过这个问题。

0 个答案:

没有答案