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?
"fields_for" bloğunu hiçbir zaman değerlendirilmediğini açıklayabilir misiniz? – Pavan
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