2012-10-16 6 views
0

j'ai un modèle Post:association has_one et emboîtées

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

En routes.rb je donne les résultats suivants:

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

Ce que je veux atteindre est de permettre aux courants d'air lors de l'utilisation form_for, à savoir:

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

... où @post et @draft sont des instances différentes du même modèle.

En ce moment, si je fais ça, je reçois une erreur:

NoMethodError: undefined method `admin_tour_tour_url' 

Question: Alors, comment puis-je faire la forme de générer admin_tour_draft_url + avec les modificateurs nécessaires comme edit_ et new_?

P.S. suis-je le mauvais chemin ici?

Répondre

1

indiquer votre propre chemin dans l'aide form_tag en extrayant la route explicitement de vos itinéraires:

1) râteau routes | grep admin_posts

2) remarquent le chemin .. probablement quelque chose comme « admin_posts_draft »

3) ajouter « _path » au chemin et qui est le nom de votre aide .. utiliser cette aide dans votre code

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