2016-04-13 22 views
0

metodları için alanlar da iç içe geçmiş formlar ve Raylar 4 ile ilgili sorunlar yaşıyorum (bu ne yazık ki oldukça yaygın gibi görünüyor). Ben gereksinimleri vardır etkinlik, modeller şunlardır:Raylar 4 içinde iç içe geçmiş formlar ve

class Event < ActiveRecord::Base 
    enum type: [:lecture, :exercise, :tutorial] 

    has_one :requirement, dependent: :destroy 

    #accepts_nested_attributes_for :requirement 
end 

ve

class Requirement < ActiveRecord::Base 
    belongs_to :event 
end 

esasen bu ikisinin arasında bire bir karşılık vardır. Şimdi, ilgili gereksinimiyle birlikte yeni bir etkinlik oluşturmak istiyorum. Eğer ben bir projeksiyon gerekli olup olmadığını belirten bir onay kutusunu istiyorum görebileceğiniz gibi

<div class="container"> 
    <%= form_for(@event) do |f| %> 
    <% if @event.errors.any? %> 
    <div id="error_explanation"> 
    <h2><%= pluralize(@event.errors.count, "error") %> prohibited this event from being saved:</h2> 

    <ul> 
     <% @event.errors.full_messages.each do |message| %> 
     <li><%= message %></li> 
     <% end %> 
    </ul> 
    </div> 
    <% end %> 

    <div class="container"> 
    <%= f.select :type, Event.types.map { |key, value| [key.humanize, key] }%> 
    <%= f.text_field :number, placeholder: "1298035" %> 

    <% f.fields_for :requirement, @event.requirement do |fields| %> 
     <%= fields.check_box :beamer %><br /> 
    <% end %> 

    <%= f.submit %> 
    </div> 
    <% end %> 
</div> 

: Ben aşağıdaki formu kullanıyorum. Sorun, fields_for bloğunun asla değerlendirilmemesidir. Bu mesajların benzer:

Rails 3: fields_for showing blank filed on Edit view

Helper "fields_for" not working Bildiğim kadarıyla nesneleri düzgün oluşturulan söyleyebilirim

: Ben puts kullanıyorsanız

# GET /events/new 
    def new 
     @event = Event.new 
     @event.build_requirement 
    end 

ben hem nesneler nil olmadığını görmek için ve dernekler doğrudur.

Ben raylar için yeni biriyim ve stymied olduğumu söylemeliyim. Herhangi bir fikir?

+0

"fields_for" bloğunu hiçbir zaman değerlendirilmediğini açıklayabilir misiniz? – Pavan

+0

Eh, onay kutusu oluşturulmaz. Diğer düz etiketler eklerseniz, bunlar da oluşturulmaz. Mevcut olmayan etiketlere başvurursam, hiçbir hata üretilmez. – hfhc2

cevap

2

You should Event modelinde yorumsuzaccepts_nested_attributes_for :requirement.

Güncelleme:

Ayrıca fields_for yılında = içermelidir.

<%= f.fields_for :requirement, @event.requirement do |fields| %> 
+0

Peki, bunu denedim. Maalesef ne yazık ki ... – hfhc2

+0

@ hfhc2 Güncellememi kontrol et. – Pavan

+1

Thx :) Yardımı çok takdir ediyorum. – hfhc2

İlgili konular