我在带有activeadmin gem的rails 4应用程序上的ruby有问题 我已经生成了多个运行良好的资源但是我遇到了一个有has_many关系的资源的问题。新记录未通过连接表注册。
这是我的模特:
video.rb
class Video < ActiveRecord::Base
has_many :album_videos
has_many :albums, :through => :album_videos
end
Album.rb
class Album < ActiveRecord::Base
has_many :album_videos
has_many :videos, :through => :album_videos
end
Album_video.rb
class AlbumVideo < ActiveRecord::Base
belongs_to :video
belongs_to :album
end
还有专辑的activeadmin文件 album.rb
ActiveAdmin.register Album do
menu :priority => 6, :label => proc{ "Album de vidéos" }
filter :album_videos
permit_params :titre, :description, videos_attributes: [:id, :titre, :_update,:_create]
form do |f|
f.inputs
f.inputs "Vidéos" do
f.input :videos, as: :check_boxes, collection: Video.all, :member_label => :titre
end
f.actions
end
end
相册的表格显示得很好,我有一个包含我所有注册视频的面板。 当我创建新专辑时,专辑已注册,但在album_videos表中没有任何内容。
我缺少什么?
答案 0 :(得分:0)
我找到了解决方案。你这个juste必须添加
video_ids: []
到你的permit_params。 我现在看起来像这样:
permit_params :titre, :description, video_ids: []