2011-09-28 4 views
0

Hey j'essayais de faire une association dans un concept afin qu'un utilisateur puisse juste avoir un lien vers son association (comme il peut simplement cliquer sur un nouveau poste et il peut le faire) mais je ne peux pas le faire dans l'esprit comme rails réguliers, il semble vraiment commun mais personne ne semble pouvoir m'aider (ou ils ne savent pas de quoi je parle), j'ai essayé de faire venir manuellement les contrôleurs et les vues mais j'ai un problème (500 erreur serveur interne) heres mon fichier journal https://github.com/Kevin-Mohamed/mygit toute autre information nécessaire laissez-moi savoirRails aider avec concevoir

+0

Je peux voir que vous essayez d'accéder « élaborer/images/new.html.erb » et obtenir une erreur de syntaxe dans 'app/vues/concevoir/images/_form.html.erb. Est-ce que ces pages sont celles qui vous ont été confiées ou celles que vous avez créées vous-même? Si vous pouviez clarifier un peu votre question, cela aiderait aussi. – mikewilliamson

+0

@MikeWilliamson je les ai fait moi-même (le dossier de devise ainsi qu'un dossier dans les contrôleurs pour concevoir) – Kevin

+0

@Mike Williamson – Kevin

Répondre

1

OK, donc c'est hors de ma tête, donc YMMV. Il y a de nombreuses façons de contourner ce problème, mais voici un moyen ... N'essayez pas de faire en sorte que le plan fasse plus qu'il ne le devrait.

class User 
    #devise links go here 
    has_many :pictures 
end 

class Picture 
    belongs_to :user 
end 

#routes 
namespace :my do 
    resources :pictures 
end 

class ApplicationController 
    # current_user gets set here by devise 
end 

class PicturesController 
    def create 
    @picture = current_user.pictures.build(params[:picture]) 
    end 
end 

#In your view you'd have the following, which would post to /my/pictures 

=form_for(my_pictures_path(@picture)) do |f| 
    ... etc 
+0

merci, ça semble utile, je l'ai abandonné pour le moment et je suis en profondeur dans une autre partie de l'application, mais je vais essayer plus tard – Kevin