我有一个看起来像这样的对象
tv_info _id: 237827483784783, channels: [:a, :b, :c]
我该如何从频道中仅删除:b
,使其看起来像
tv_info _id: 237827483784783, channels: [:a, :c]
我只找到一种更新方法,而没有删除方法。对于 例子
tv_info.update(channels: :a)
将其更改为
tv_info _id: 237827483784783, channels: [:a]
但是我需要保留:c
我正在寻找类似的东西
tv_info.delete(channels: :b)
答案 0 :(得分:0)
您尝试过类似的事情
new_channles = tv_info.channels.select { |c| c != :b }
tv_info.update(channels: new_channels)
?
答案 1 :(得分:0)
只需直接访问存储在通道下的数组即可:
tv_info.tap { |hash| hash[:channels].delete(:b) }
这使用了:
希望能有所帮助,如果您有任何疑问或问题,请告诉我。
答案 2 :(得分:0)
您可以使用以下方法删除:b
:
tv_info[:channels].delete(:b)
希望对您有帮助:D