【问题标题】:How can i show all the objects of an Object我怎样才能显示一个对象的所有对象
【发布时间】:2014-05-05 14:01:25
【问题描述】:

今天我一直在努力处理一个非常简单的问题。

我的系统中有一个名为 Sensors 的模型,这些传感器 have_many :value_of_sensors

value_of_sensors 就像每个传感器的历史记录一样,为了做到这一点,我在数据库中创建了一个名为 sensor_id 的列,它保存了传感器的 id

我的问题是,每次我通过我的应用程序中的 ("show") 选项(网址更改为 sensors/8 )(即 id = 8 的传感器)转到特定传感器时,我怎么能在 value_of_sensor 的控制器索引中修改我的代码,以便将传感器的 id = 8 从 URL 中取出,并显示 id = 8 的传感器的所有历史记录(value_of_sensor 属性)。

目前我已经尝试在 value_of_sensor 的控制器索引中使用此代码

@value_of_sensors = ValueOfSensor.where(:sensor_id => current_sensor.id)

但是好像不能正常工作

请帮忙

提前致谢!

【问题讨论】:

  • 你能澄清什么不能正常工作吗?你有错误吗?是否有意外行为?
  • 你可以迭代数组@sensor.value_of_sensors
  • 我提供的这段代码不能正常工作,基本上我试图确定 value_of_sensors 的 sensor_id 是否与我选择的 sensor.id 相同。当我通过按“显示”按钮选择传感器时,它会将我重定向到传感器/8,这是特定的传感器,现在我试图让这 8 是 sensor.id 以匹配 value_of_sensors 的 :sensor_id
  • 对不起,如果我不能正确表达我的问题,但我是一个新的 ruby​​ on rails 开发人员

标签: ruby-on-rails ruby


【解决方案1】:

根据您的说明,您的意思可能是:

@value_of_sensors = ValueOfSensor.where(:sensor_id => params[:id])

我不清楚您的current_sensor 来自哪里,但是根据您所说的,由于您指出这是Sensor 路由的show 页面,因此应在参数映射为简单的:id

正如@taro 所说,一个更简单的方法是利用has_many 关系。因此,与其只获取ValueOfSensor 对象,不如获取Sensor 对象,并调用.value_of_sensors 方法。示例:

@sensor = Sensor.find(params[:id])
@value_of_sensors = @sensor.value_of_sensors

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-02-09
    • 2016-04-04
    • 1970-01-01
    • 1970-01-01
    • 2023-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多