Rails管理员动态字段

时间:2018-06-06 21:16:13

标签: ruby-on-rails ruby

我有一个具有属性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

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

1 个答案:

答案 0 :(得分:0)

您的Event模型遗失accepts_nested_attributes_for 允许事件模型同时保存 EventTime 记录。

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