Syntax error, unexpected kEND, expecting $end

Bonjour à tous. J’apprends présentement le Rails avec le livre des
éditions Eyrolles. Voici le fichier de mon modèle:

class Produit < ActiveRecord::Base
connection.execute (‘SET NAMES utf8’)

validates_presence_of :titre, :description, :image_url
validates_numericality_of :prix

protected
def validate
errors.add(:prix, “doit être supérieur à zéro”) unless prix.nil? ||
prix > 0.0
end
end

Juste avec ça, j’ai déjà des erreurs.

app/models/produit.rb:11: syntax error, unexpected kEND, expecting $end

Si quelqu’un pouvait me dire où est l’erreur, ça serait bien sympa.

Salut,
ton modèle est juste. Ça vient d’autre part.

Nicolas B…

Anthony Toto a écrit :

Jean-François Trân wrote:

Anthony :

def validate
errors.add(:prix, “doit �tre sup�rieur � z�ro”) unless prix.nil? ||
prix > 0.0
end
end

Juste avec �a, j’ai d�j� des erreurs.

app/models/produit.rb:11: syntax error, unexpected kEND, expecting $end

V�rifie d’abord tout les probl�mes d’accents :

change le “doit �tre sup�rieur � z�ro” en “doit etre superieur a zero”,
pour voir si l’erreur persiste.

Quel IDE ou �diteur de texte utilises-tu ? V�rifie l’encodage.

�pluche ce thread (pour la suite) :
http://groups.google.com/group/railsfrance/browse_thread/thread/f987f74e12f2b9a4#

– Jean-Fran�ois.


Ruby ( http://www.rubyfrance.org ) on Rails ( http://www.railsfrance.org
)

Alors, j’ai fait comme tu as dit en enlevant les accents et ca n’a pas
fonctionné. J’ai vérifié l’encodage de mon éditeur (SciTe) et il est en
UTF-8. J’ai fait toutes les opérations du lien que tu m’as donné (Mysql
était déjà en UTF-8, mais j’ai rajouté le filtre dans le controleur et
l’encodage dans le fichier YML) et ça n’a rien donné. Donc, par pure
logique, j’ai déterminé que l’encodage ne devait pas être le problème
(oui, je sais, je suis trop perspicace ^^)

Donc, j’ai essayé la vieille méthode d’enlever les lignes qui posaient
problème et j’ai du toutes les enlever sauf la première (la définition
de classe) avant de recevoir un nouveau message d’erreur. Si ça peut
vous donner plus de pistes:

Expected ./app/models/produit.rb to define Produit

Anthony :

Donc, j’ai essayé la vieille méthode d’enlever les lignes qui posaient
problème et j’ai du toutes les enlever sauf la première (la définition
de classe) avant de recevoir un nouveau message d’erreur. Si ça peut
vous donner plus de pistes:

Expected ./app/models/produit.rb to define Produit

Un fichier /app/models/produit.rb avec juste :
class Produit < ActiveRecord::Base
end

Il te met cette erreur ?

C’est très bizarre.

Tu nous fais un topo : version de Ruby, Rails, OS…

-- Jean-François.


Ruby ( http://www.rubyfrance.org ) on Rails ( http://www.railsfrance.org
)

Anthony :

def validate
errors.add(:prix, “doit être supérieur à zéro”) unless prix.nil? ||
prix > 0.0
end
end

Juste avec ça, j’ai déjà des erreurs.

app/models/produit.rb:11: syntax error, unexpected kEND, expecting $end

Vérifie d’abord tout les problèmes d’accents :

change le “doit être supérieur à zéro” en “doit etre superieur a zero”,
pour voir si l’erreur persiste.

Quel IDE ou éditeur de texte utilises-tu ? Vérifie l’encodage.

Épluche ce thread (pour la suite) :
http://groups.google.com/group/railsfrance/browse_thread/thread/f987f74e12f2b9a4#

– Jean-François.


Ruby ( http://www.rubyfrance.org ) on Rails ( http://www.railsfrance.org
)

Bonjour,

Je ne suis pas sur mais il me smeble que tu as un “end” en trop. En
tout cas une recherche sur Google donne cette solution comme la
réponse possible à ce message d’erreur.

Nicolas

Jean-François Trân wrote:

Anthony :

Donc, j’ai essay� la vieille m�thode d’enlever les lignes qui posaient
probl�me et j’ai du toutes les enlever sauf la premi�re (la d�finition
de classe) avant de recevoir un nouveau message d’erreur. Si �a peut
vous donner plus de pistes:

Autre question : les autres mod�les marchent ?

– Jean-Fran�ois.


Ruby ( http://www.rubyfrance.org ) on Rails ( http://www.railsfrance.org
)

Après que tu ailles dit ça, j’ai fait le test et les autres modèles
marchaient très bien.

Alors, j’ai tout simplement détruit tous les fichiers de modèles et les
fichiers ratachés et j’ai fait un nouveau generate. Et maintenant, ça
fonctionne parfaitement. Je vais donc recommencer ce que j’ai fait et on
verr bien.

Anthony :

Donc, j’ai essayé la vieille méthode d’enlever les lignes qui posaient
problème et j’ai du toutes les enlever sauf la première (la définition
de classe) avant de recevoir un nouveau message d’erreur. Si ça peut
vous donner plus de pistes:

Autre question : les autres modèles marchent ?

– Jean-François.


Ruby ( http://www.rubyfrance.org ) on Rails ( http://www.railsfrance.org
)

Salut,

Expected ./app/models/produit.rb to define Produit

J’ai eu récement cette erreur en réveillant un projet Rails 1.1.6 sous
1.2.5.

Un rm bien senti dans vendor/plugins/bundled_ressources et c’est
reparti…

Mon conseil, visiter les plugins et faire le ménage…