Fields_for表单字段不以rails形式显示

时间:2015-03-22 07:40:43

标签: ruby-on-rails

我有一个Rfsestimation类如下所示:

class Rfsestimation < ActiveRecord::Base
has_one :rfstaskset
has_one :rfsnote
enum request_type: [:front_end, :back_end, :front_end_and_back_end]
enum band_type: [:Simple, :Medium, :High, :Complex, :VComplex, :Outside_AD]
**accepts_nested_attributes_for :rfstaskset**
**accepts_nested_attributes_for :rfsnote**

validates_presence_of :number, :name, :date_of_estimation, :request_type_id, :band_id, :hours_per_day, :estimated_start_date, :estimated_end_date, :message => "Should be present"



validates_numericality_of :number


end

请参阅上面用粗体标记的两行关联。我试图通过fields_for创建关联对象Rfsnote和Rfstask,如下所示:

<%= f.fields_for :rfstaskset do |rfs_task| %>

然而,应该出现的字段不会按预期显示。但如果我使用rfstasksets,如下所示,表单字段将按预期显示。

这可能是什么原因?

<%= f.fields_for :rfstasksets do |rfs_task| %>

1 个答案:

答案 0 :(得分:0)

我认为您没有在控制器中构建关联对象。 您new行动需要如下所示:

def new
  @rfsestimation = Rfsestimation.new
  @rfsestimation.build_rfstaskset
end