gpt4 book ai didi

ruby-on-rails - ActiveAdmin/Formtastic 可排序 has_many 通过关系

转载 作者:行者123 更新时间:2023-12-04 05:34:42 27 4
gpt4 key购买 nike

我可能在这里遗漏了一些基本的东西,但我似乎无法让 ActiveAdmin 使用可排序的 has_many 关系,并能够创建新记录。

所以给出以下模型

class User < ActiveRecord::Base

has_many :user_videos
has_many :videos, through: :user_videos

accepts_nested_attributes_for :user_videos
accepts_nested_attributes_for :videos

...
end

class UserVideo < ActiveRecord::Base

belongs_to :user
belongs_to :video

accepts_nested_attributes_for :video

end

class Video < ActiveRecord::Base

has_many :user_videos
has_many :users, through: :user_videos

...
end

(我承认我正在抛出 accepts_nested_attributes_for 有点希望有些东西可以奏效)

Active Admin 设置是这样的(当然是 WIP):
f.inputs "User" do
f.has_many :user_videos, heading: 'Videos', sortable: :order, allow_destroy: true, new_record: 'New Record' do |v|
v.inputs for: :video do |video|
video.input :video_url
end
end
f.has_many :videos, heading: 'Videos', new_record: 'New Video' do |v|
v.input :video_url
end
end

f.actions

第一 has_many:user_videos关联似乎没有呈现任何输入。如果那里有记录,我可以看到 video.input :video_url实际上是返回一个 li标签 labelinput ,但是没有任何内容呈现到页面上。新记录全 v.inputs bit 没有运行(我需要先在那里以某种方式创建子记录吗?)。

第二个 has_many将起作用,您将能够添加记录,并更新现有记录,但是不可能按照 order 进行排序。列在 UserVideos模型。我把它更多地作为说明而不是任何东西。

如果有人对此有任何指示,他们将不胜感激。 :)

最佳答案

哇!我知道我参加聚会迟到了,但这是利用 :delegate method 的绝佳机会。 !

你的 UserVideo 类看起来像这样

class UserVideo < ActiveRecord::Base

belongs_to :user
belongs_to :video

validates_with VideoValidator

delegate :video_url, :video_url=, to: :video
end

祝你好运!

关于ruby-on-rails - ActiveAdmin/Formtastic 可排序 has_many 通过关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39525899/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com