2011-02-15 28 views

回答

19

因爲要發送的新需求,創建和編輯需要發送更新單個的form_for將無法正常工作。除非(其我並不推薦),您將三級運營商在form_form PARAMS

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

因爲在你的新動作,你將不得不Post.new這將創建一個無ID的對象,並在你的編輯你將擁有的動作Post.find(PARAMS [:ID])

+10

代替`@ post.id.nil?`,我更喜歡`@post.new_record ?` – Chirantan 2011-02-15 06:06:47

+0

我同意這感覺太hacky,所以你不建議。但是,我們如何模擬默認的form_for行爲,在創建和編輯對象時總是會有所不同,而無需使用資源和專用控制器。應該有這樣的`:url => {:create => {:action =>'',:controller =>''},:update => {:action =>'',:controller =>'' }}`,不應該嗎? – 2013-07-18 10:46:22