首页 > 解决方案 > Rails Admin 动态字段

问题描述

我有一个具有属性的模型事件number_of_events。然后我有另一个模型 EventTime。

model Event < ActiveRecord::Base 
  has_many :event_times
end

model EventTime < ActiveRecord::Base
  belongs_to :event
  # and a bunch of fields such as event start, max attendees, ...
end

请注意,我无法更改属性!

在 rails admin 中,每当 number_of_events 发生变化时,它应该创建一个带有 even_time 字段的新行。

例如,当number_of_events设置为 5 时,它应该创建 5 行,每行包含来自 EventTime 的所有字段。提交事件后,它应该使用我的事件的 event_id 创建 5 个 EventTime 记录。

我已经有办法根据 number_of_events 显示字段和行数。但是,我在创建记录时遇到问题。

config.model Event do

    edit do
      field :number_of_events
      field :event_times do
        partial :event_times_partial
      end
    end
end

我的问题是 - 如何根据我通过的视图或参数创建数据?有没有办法覆盖控制器?

标签: ruby-on-railsruby

解决方案


您的Event模型缺少accepts_nested_attributes_for 允许事件模型也保存事件时间记录。

model Event < ActiveRecord::Base 
  has_many :event_times
  accepts_nested_attributes_for :event_times
end

推荐阅读