2011-02-15 14 views

cevap

19

ve düzenleme çalışmaz tek form_for güncellemek için gönderilmesi gereken (ki sürece Ben mutlaka bir nil kimliğe sahip bir nesne oluşturur Post.new olacak ve içinde olduğundan yeni eylem Eğer

form_for(@post, :url => (@post.new_record? ? admin_posts_url : admin_post_url(@post))) 

parametreler form_form bir üçüncül operatörünü koyun) önermiyoruz senin sahip olacak eylemi düzenle Post.find (parametreler [: kimlik])

+10

yerine @ post.id.nil? ', tercih ederim '@post.new_record ? – Chirantan

+0

Çok hacky hissettiğimi kabul ediyorum, bu yüzden bunu önermiyorsunuz. Ancak, kaynak ve özel denetleyici kullanmadan, bir nesneyi oluştururken ve düzenlerken her zaman farklı olacak varsayılan form_for davranışını nasıl simüle edebilirdik. Bunun gibi bir şey olmalı: url => {: create => {: action => '',: controller => ''},: update => {: action => '',: controller => '' }}, değil mi? –

+0

@ post.new_record? 'Yerine, @ post.persisted tercih ederim? Http://api.rubyonrails.org/classes/ActiveRecord/Persistence.html#method-i-persisted-3F –

İlgili konular