J'essaie d'obtenir un formulaire de base pour travailler et je me débats parce que je continue à obtenir l'erreur
controller :profiles do get "newprofile" => "profiles#new" get "updateprofile" => "profiles#update" get "profile" => "profiles#home" end resources :profiles, :controller => 'profiles'
5 Réponses :
Si vous exécutez une commande "Rake Routes", effectuez "Profiles_index" apparaissent dans vos itinéraires? Habituellement pour la page d'index d'un modèle, l'index de travail est laissé de côté de sorte que l'itinéraire est Votre erreur vient probablement d'une vue où vous avez utilisé profiles_path code> p>
profiles_index_path code> au lieu de
profiles_path code> p> p>
Merci pour votre réponse. Le fichier de vue s'appelle nouveau.html.erb car il est de créer de nouveaux profils - serait génial de savoir ce que je dois changer pour résoudre ce problème. Merci encore :)
Vous n'utilisez pas 'profiles_index_path' dans New.html.erb .. ou vous n'avez pas publié tout le code. Je ne pense pas que le problème est à cette vue.
Étrange n'est pas ça! Ceci est tout le code et, à aucun point, je refuse profiles_index_path - mais l'erreur suggère que je fais dans la ligne d'ouverture form_for? L'URL que j'essaie de charger est localhost: 3000 / NewProfile
Je ne peux pas comprendre quel est le problème. Avez-vous essayé une recherche globale via tout votre projet pour "profiles_index_path"?
Malheureusement, il n'est certainement pas utilisé nulle part actuellement, l'application n'est pas très étendue, il serait donc facile de trouver :)
Avez-vous essayé de remplacer votre format_for balayer avec ce qui suit?
<%= form_for @profile, :as => :post do |f| %>
Hé, désolé oublié d'inclure cela. Le fichier de vue s'appelle nouveau.html.erb - toute aide supplémentaire que vous pouvez offrir serait très appréciée. :)
Hey Yosep, merci pour votre aide. Malheureusement, je reçois toujours la même erreur cependant :( vraiment je ne sais pas pourquoi ça se confondre!
Je pense que c'est échoué à cause de la convention non suivie avec votre nom de modèle.
Donc, je pense que vous êtes problématique, c'est surtout autour de ce que vous ne suivez pas la convention sur le nom du modèle, ce qui serait classiquement singulier, car chaque instance représente un profil. Je pense que la forme_for aide tente de déterminer quoi faire avec elle et échouer en conséquence. Vous avez donc deux options pour essayer de résoudre. Refactor Le nom du modèle au singulier (je ne suis pas clairement clairement, à quel point cela serait difficile) ou passez le paramètre: URL de former_for, il sait donc où poster à. P>
<% form_for @profile, :url => path_to_create_action do |f| %>
Salut dvg, c'est quand je vais à ../newprofile (qui devrait être un profil # nouveau selon mes itinéraires). Merci!
Que se passe-t-il si vous déplacez ressources: profils ,: contrôleur => "profils" code> au-dessus des autres itinéraires?
Toujours la même erreur tristement même si je déplace les ressources en haut du fichier de routes. Mon nom de modèle est pluriel, @profile est singulier tout comme l'appel en format_for. à votre santé
Merci pour votre aide DVG, je devais transformer mon modèle singulier - merci pour la première mise en valeur!
Le problème est en effet la façon dont vous avez pluralisé votre nom de modèle. Ne fais pas ça. Il devrait s'agir d'un profil code> code>, pas un code>. Il y a que je sois un peu de travail pour vous permettre d'utiliser un nom de modèle pluriel, mais la réponse consiste à coller à la convention de rails plutôt que de combattre le cadre. Renommez votre modèle à
Profil CODE> et l'URL_POR CODE> URL_FOR CODE> Comment activera correctement un nouvel objet de profil en un
/ Profils code> URL. P>
Incroyable cela semble avoir travaillé! Merci de votre aide. Modèles = singulier, contrôleurs = pluriel sont ceux qui sont toujours les règles des rails?
Oui. Vos modèles doivent toujours être singuliers et les contrôleurs doivent toujours être pluriels.
Je travaille avec Qu'est-ce que j'ai fait pour réparer c'était: p> Supprimer le modèle que je viens de créer. P>
Modifier exécutez à nouveau l'échafaudage: p>
multimédia code> comme modèle et ror utilisé
moyen Code> Comme le pluriel, j'ai eu des itinéraires différents lors de l'exécution des itinéraires de râteau code>.
rails g scaffold Media
config / initialiseurs / inflication.rb code> avec: p>
ActiveSupport::Inflector.inflections(:en) do |inflect|
# Here you can put the singular and plural form you expect
inflect.irregular 'media', 'medias'
end
rails d scaffold Media
DO
ROUTHES RAKE CODE> Pour vérifier le chemin correct sur
index code> méthode
À quoi ressemble votre fichier
routtes.rb code>?
Hé, j'ai ajouté mon fichier de routes pertinent afin de pouvoir voir ce que j'ai. La vue est également appelée new.html.erb car il s'agit de créer de nouveaux profils. Merci