2012-10-16 82 views
0

我有一個模型PostHAS_ONE協會和嵌套形式

class Post < ActiveRecord::Base 
    has_one :draft, class_name: Post, foreign_key: draft_id 
end 

routes.rb我有以下幾點:

namespace :admin do 
    resources :posts do 
    resource :draft 
    end 
end 

我想實現的是使用form_for,即當啓用草稿:

= form_for [:admin, @post, @draft] do |form| 

...其中@post@draft是同一模型的不同實例。

現在,如果我這樣做,我得到一個錯誤:

NoMethodError: undefined method `admin_tour_tour_url' 

問題:那麼,如何使表單生成admin_tour_draft_url +與像edit_new_一個需要修飾?

P.S.我在這裏走錯了路嗎?

回答

1

從你的路由明確提取路徑指定的助手的form_tag自己的路:

1)耙路線| grep的admin_posts

2)注意路徑..大概就像「admin_posts_draft」

3)添加「_path」的路徑,這是你的助手的名字..使用該助手在你的代碼

<%= form_tag admin_posts_draft_path(@post, @draft) %> 
<% end %>