0

私はモデルを持っていますPost:

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'

質問: では、andadmin_tour_draft_urlのような必要な修飾子を使用してフォームに + を生成させるにはどうすればよいですか?edit_new_

PSここで間違った道を進んでいますか?

4

1 に答える 1

1

ルートからルートを明示的に抽出して、form_tag ヘルパーで独自のパスを指定します。

1) レーキ ルート | grep admin_posts

2)パスに注意してください..おそらく「admin_posts_draft」のようなもの

3) パスに「_path」を追加します。これがヘルパーの名前です。コードでそのヘルパーを使用します。

<%= form_tag admin_posts_draft_path(@post, @draft) %>
<% end %>
于 2012-10-16T20:31:29.150 に答える