Ответ 1
Я думаю, вы можете попробовать использовать виртуальный атрибут для этого
Пример (не проверен)
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