2015-01-28 2 views
0

그래서 레일 2에서 3.2로 응용 프로그램을 마이그레이션 한 후에 완벽하게 작동 한 새 클래스에 대해 중첩 된 양식을 구현했습니다.중첩 된 양식, has_many 관계에 대한 빈 기호

불행히도 마이그레이션 된 클래스에서 작동하도록 할 수는 없지만 지금은 나를 며칠 동안 유지해야합니다.

상위 모델 :

class Geodatensatz < ActiveRecord::Base 
self.table_name = "GEODATENSATZ” 
self.sequence_name = "GEODATENSATZ_SEQU" 
attr_accessible :anwendungseinschraenkungs_attributes 
has_many :anwendungseinschraenkung, 
:dependent => :destroy 
accepts_nested_attributes_for :anwendungseinschraenkung, 
           :reject_if => lambda { |a| a[:beschreibung].blank? }, 
           :allow_destroy => true 

아이 모델 : 뷰에서

class Anwendungseinschraenkung < ActiveRecord::Base 
self.table_name = "ANWENDUNGSEINSCHRAENKUNG"    
self.sequence_name = "ANWENDUNGSEINSCHRAENKUNG_SEQU" 

attr_accessible :geodatensatz_id, :beschreibung, :index 

belongs_to :geodatensatz 

:

<%= form.fields_for :anwendungseinschraenkung do |builder| %> 
       <%= builder.text_area :beschreibung, :rows => 3 %> 
<% end %> 

내가 입력하여 모든 "anwendungseinschraenkung"를 얻을 수 있습니다 "@ geodatensatz.anwendungseinschraenkung" , 그러나 : anwendungseinschraenkung은 비어있는 것처럼 보인다. @ geodatensatz.anwendungseinschraenkung.build를 호출하면 모든 속성 값이 "nil"인 단일 객체가 생성됩니다.

도움 주셔서 감사합니다.

답변

0

괜찮아 ... 그래서 최대한 빨리

<%= form_for @geodatensatz .... 

<%= form_for :geodatensatz ..... 

변경으로 fields_for 표시 :

나는 확신합니다, 좀 더 아는 사람 ROR에 대한 이유에 대해 자세히 설명 할 수 있습니다 ....

관련 문제