我正在使用
@registers.delete_if { |r| r.location_id != @location_id && @location_id.present?}
过滤寄存器,以便只保留选择location_id
的寄存器,如果至少选择了任何内容。问题是使用@location_id.present?
工作正常,但检查id是否相同则不然。如果我用这样的数字检查硬编码:r.location_id != 5
它确实有效。
答案 0 :(得分:2)
试试这样:
@registers.delete_if { |r| r.location_id != @location_id.to_i && @location_id.present?}
但我认为要做得更好,你应该这样做:
@registers.delete_if { |r| r.location_id != @location_id.to_i if @location_id.present?}