gpt4 book ai didi

ruby-on-rails - 有没有使用ActiveAdmin创建/选择相关数据的简便方法?

转载 作者:行者123 更新时间:2023-12-03 09:26:37 25 4
gpt4 key购买 nike

想象一下,我有以下模型:

class Translation < ActiveRecord::Base
has_many :localizations
end

class Localization < ActiveRecord::Base
belongs_to :translation
end

如果我在ActiveAdmin中这样做:
ActiveAdmin.register Localization do
form do |f|
f.input :word
f.input :content
end
end

单词联想只会让我从现有单词中进行选择。但是,我想选择动态创建一个新单词。我认为在本地化模型中接受嵌套的属性可能很有用(但是,我只能选择创建一个Word,而不选择现有的)。我怎么解决这个问题?

最佳答案

我认为您可以尝试为此使用虚拟属性

示例(未测试)

class Localization < ActiveRecord::Base
attr_accessor :new_word #virtual attribute
attr_accessible :word_id, :content, :new_word
belongs_to :translation
before_save do
unless @new_word.blank?
self.word = Word.create({:name => @new_word})
end
end
end

主要思想是在保存本地化之前创建并存储新的Word实例,并使用它代替下拉菜单中的word_id。
ActiveAdmin.register Localization do
form do |f|
f.input :word
f.input :content
f.input :new_word, :as => :string

end
end

有关虚拟属性 http://railscasts.com/episodes/167-more-on-virtual-attributes的大量介绍

关于ruby-on-rails - 有没有使用ActiveAdmin创建/选择相关数据的简便方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13100569/

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