我有一个ProgressBoard
模型,控制器和视图。每个has_many :progress_board_metrics
的{{1}}。
我只有一个belongs_to
模型(没有控制器或视图),它属于ProgressBoardMetric
在我的progress_board
视图中显示了许多独特的progress_board
当我点击progress_board_metrics
上的按钮时,我想从progress_board_metrics
模型中调用一个参数 metric_id ,但是我很难这么做。
我尝试调用此参数的实际代码是:
metric
我尝试了一些@progress_board.progress_board_metrics.metric_id
或@progress_board.metric_id
之类的变体,但没有办法解决。
此时我迷路了
#@progress_board_metrics.metric_id
注意:“更改”,“指标”和“结果”为class ProgressBoardMetric < ApplicationRecord
belongs_to :progress_board
...
def metric_id
if self.metric_type == "Change"
self.change.id
elsif self.metric_type == "Indicator"
self.indicator.id
elsif self.metric_type == "Outcome"
self.outcome.id
end
end
...
end
答案 0 :(得分:2)
您正试图在许多记录中选择一个奇异值id
。您需要选择一个实际的progress_board_metric
才能调用id
。
例如:
@progress_board.progress_board_metrics.first.metric_id
将在列表中选择第一个。 @progress_board.progress_board_metrics.last.metric_id
将在列表中选择最后一个。
您可能并且最终可能会使用each do块以某种方式显示度量标准ID。
@progress_board.progress_board_metrics.each do |metric|
metric.metric_id
end