2010-09-17 6 views
1

J'ai un ensemble de partiels qui sont utilisés pour mettre à jour une section d'un formulaire en fonction du choix de l'utilisateur à partir d'un menu déroulant. Il y a beaucoup de choix différents, donc plutôt que d'avoir un dossier de vue comme celui-ci:Comment ajouter un dossier actuel d'un partiel au chemin d'accès des rails?

app/views/myview/ 
    _choice001.html.erb 
    _choice002.html.erb 
    ... 
    _choice998.html.erb 
    _choice999.html.erb 
    _form.html.erb 
    _sharedchoicestuff1.html.erb 
    _sharedchoicestuff2.html.erb 
    edit.html.erb 
    new.html.erb 

Je veux poser comme ceci:

app/views/myview/ 
    choices/ 
    _choice001.html.erb 
    _choice002.html.erb 
    ... 
    _choice998.html.erb 
    _choice999.html.erb 
    _sharedchoicestuff1.html.erb 
    _sharedchoicestuff2.html.erb 
    _form.html.erb 
    edit.html.erb 
    new.html.erb 

Si je fais ça, je sais que je besoin de changer render :partial => whatever en render :partial => "myview/choices/#{whatever}" ce qui est OK dans le formulaire, mais je ne veux pas avoir à le changer dans tous les modèles de choix. Y a-t-il un moyen d'ajouter '.' au chemin de la vue, donc je peux toujours avoir render :partial => 'sharedchoicestuff1' dans les modèles de choix.

Répondre

3

Il suffit de créer une aide pour que:

def render_choice(name) 
    render "myview/choices/#{name}" 
end 
Questions connexes