2010-11-03 21 views
14

kullanmadan bir alan içinde iç içe geçmiş model özniteliklerine erişme Bir has_many ilişkisi olan bir model oluşturmak ve düzenlemek için kullanılan bir Rails formum var. İç içe geçmiş modellerle tipik formları çok aşinayorum, ancak şu andaki problemim, tipik FormBuilder yardımcılarını ve modelin verilerini kullanarak diğer HTML öğelerini kullanarak bazı form öğelerini oluşturmayı gerektiriyor. Örneğin benim üst düzey formu gibi bir şey vardır:FormBuilder

<% customer_form.fields_for :customer_images do |images_form| %> 
    <%= render :partial => 'customer_image_show', :locals => { :f => images_form } %> 
<% end %> 

Ardından, form kısmi de, ben böyle bir şey yapmak gerekir:

<dd><%= f.text_field :image_description %></dd> 

... ama aynı zamanda customer_images modelinden niteliklere erişmek (örneğin, customer_image kaydının kimliği).

Bunun çok basit olması gerektiğini düşünüyorum ve sadece temel bir şey eksik. Herhangi bir yardım takdir edilir. Bu bir Rails 2.3.8 uygulamasıdır.

cevap

45

Sen

f.object 

formu ile ilişkili olduğunu nesneye ulaşmak için çağırabilir.

+0

Bu işe yaradı, teşekkürler! –

+1

Bu, Ruby on Rails belgelerinde daha açık bir şekilde açıklanmadığından şaşırdım çünkü bu, formları oluştururken ve sürdürürken oldukça yararlı bir şey. Teşekkürler monocle! –

0

İhtiyacınız olan şey bu olduğundan emin değilsiniz, ancak model verilerini yerel olarak ekleyemediniz mi? gibi:

<%= render :partial => 'customer_image_show', :locals => { :f => images_form, :customer_image => @customer_image } %> 
İlgili konular