Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 4 从ActiveResource::集合关系中删除元素_Ruby On Rails 4_Soa_Activeresource - Fatal编程技术网

Ruby on rails 4 从ActiveResource::集合关系中删除元素

Ruby on rails 4 从ActiveResource::集合关系中删除元素,ruby-on-rails-4,soa,activeresource,Ruby On Rails 4,Soa,Activeresource,我在文件服务中有多对多关系(HABTM): class Album < ActiveRecord::Base has_and_belongs_to_many :media, join_table: 'albums_media' end class Medium < ActiveRecord::Base has_and_belongs_to_many :albums, join_table: 'albums_media' end 我希望能够从给定的相册中删除特定的媒体,但A

我在文件服务中有多对多关系(HABTM):

class Album < ActiveRecord::Base
  has_and_belongs_to_many :media, join_table: 'albums_media'
end

class Medium < ActiveRecord::Base
  has_and_belongs_to_many :albums, join_table: 'albums_media'
end
我希望能够从给定的
相册
中删除特定的
媒体
,但ActiveResource实际上并不直接支持这一点

# not supported...
medium.albums.destroy(...)
我不想使用
has\u many:through
,因为除了做这种事情之外,我不需要直接管理连接


非常感谢您提供的任何见解。

仅供参考:我最终在文件服务本身中添加了额外的“加入”资源,然后将相应的ActiveResource类添加到gem中。现在,我们可以简单地使用API直接管理连接

这是比我想做的更多的工作,但AR是适当的精简重量,不支持多对多的关系。关键是,这是可以做到的

album = Album.create(...)
medium = Medium.create(album_ids: [album.id])
# not supported...
medium.albums.destroy(...)