Pb avec un model

4 views
Skip to first unread message

Yohann0204

unread,
Jun 7, 2007, 4:10:27 AM6/7/07
to rails...@googlegroups.com
Bonjour/Bonsoir,

voila en faite j'utilise Ruby depuis peux et j'ai un soucis avec un
model.
Voila l'erreur :

app/models/bien.rb:28: parse error, unexpected tCONSTANT, expecting kEND
when "V"
^
app/models/bien.rb:29: parse error, unexpected tCONSTANT, expecting kEND
"Vendu"
^
app/models/bien.rb:59: unterminated string meets end of file
app/models/bien.rb:59: parse error, unexpected $, expecting kEND

et voici les lignes de commandes :

class Bien < ActiveRecord::Base
validates_uniqueness_of :rue, :scope=>"ville", :message=>"Cette
adresse existe déjà !"
validates_presence_of :rue, :message=>"Merci d'entrer la rue !"
validates_presence_of :ville, :message=>"Merci d'entrer la ville !"
validates_presence_of :prix, :message=>"Merci d'entrer le prix !"
validates_presence_of :prix, :message=>"Merci d'entrer l'état du bien
!"

has_one :locationvente

def before_destroy
if etat == "L" or etat == "V"
return false
end
end

def rue_cp_ville
"#{rue} #{cp} #{ville}"
end

def etat_to_s
case etat
when "AL"
"A louer"
when "AV"
"A vendre"
when "L"
"Loué"
when "V"
"Vendu"
end
end

def nom_propietaire_to_s
if nom_proprietaire.blank?
"&nbsp;"
else
nom_proprietaire
end
end

def superficie_to_s
if superficie.blank?
"&nbsp;"
else
superficie
end
end

def cp_to_s
if cp.blank?
"&nbsp;"
else
cp
end
end

def date_operation_to_s
if date_operation.blank?
"&nbsp;"
else
date_operation
end
end
end

voir mieu une image pour avoir un meilleur aperçu sur le lien suivant :
http://yohann0204.intranet.free.fr/erreurruby.JPG

sa fait 2 jrs que je chercher et je vois pas du tout l'erreur s'achant
qu'elle sort tout droit du livre : Pratique de Ruby on Rails (O'Reilly)

En espérant que vous pourrez m'aider, merci par avance

--
Posted via http://www.ruby-forum.com/.

Jean-François

unread,
Jun 7, 2007, 4:32:31 AM6/7/07
to rails...@googlegroups.com
> def etat_to_s
> case etat
> when "AL"
> "A louer"
> when "AV"
> "A vendre"
> when "L"
> "Loué"
> when "V"
> "Vendu"
> end
> end

Essaie temporairement en modifiant "Loué" c'est-à-dire
en supprimant le e accent aigu é en fin de chaîne.

Par exemple avec "Lou".

Si ça marche, t'as un problème d'encodage, vérifie
dans ton éditeur que t'es en utf-8, etc.

Bon courage,
(d'autant plus que t'as décidé de commencer Rails avec
"Pratique de Ruby on Rails")

-- Jean-François.

--
À la renverse.

Yohann0204

unread,
Jun 7, 2007, 4:45:13 AM6/7/07
to rails...@googlegroups.com
Merci beaucoup c'est cela même :-D.

Par contre comment puis je changer l'encodage ? et dans quel fichier
s'il vous plait ?

Merci

Cyril Mougel

unread,
Jun 7, 2007, 5:06:52 AM6/7/07
to rails...@googlegroups.com
On 6/7/07, Yohann0204 <list-i...@andreas-s.net> wrote:
>
> Merci beaucoup c'est cela même :-D.
>
> Par contre comment puis je changer l'encodage ? et dans quel fichier
> s'il vous plait ?
>

Ca dépend de ton éditeur et il faut que tout tes fichiers soient encodé en UTF-8

--
Cyril Mougel

Yohann0204

unread,
Jun 7, 2007, 5:17:37 AM6/7/07
to rails...@googlegroups.com
En faite j'utilise le logiciel ScITE :-S lol

pas le bloc-note

Jérémy Dierx

unread,
Jun 7, 2007, 5:22:38 AM6/7/07
to rails...@googlegroups.com
Salut,

Si cela peut t'aider,

Au niveau de la base de donnée :

- Requête SQL pour forcer l'encodage lors de la création de la base : CREATE DATABASE nom_de_la_base CHARACTER SET utf8;

- Requête SQL  pour forcer l'encodage d'une base déjà créé : ALTER DATABASE nom_de_la_base CHARACTER SET utf8;

- Tu dois pouvoir éxecuter aussi la requête dans un fichier de migration : execute "ALTER DATABASE nom_de_la_base CHARACTER SET utf8"

Au niveau de l'encodage des pages web :

tu peux forcer la définition du charset du HEADER de tes pages dans app/controller/application.rb en ajoutant la méthode :

  before_filter :set_charset

  def set_charset
    content_type = headers["Content-Type"] || "text/html"
    if /^text\//.match(content_type)
      headers["Content-Type"] = "#{content_type}; charset=utf-8"
    end
  end

Au niveau de l'encodage des fichiers :

A voir avec ton éditeur. Pour Eclipse par exemple : Project -> Properties -> Info...

J.

Yohann0204

unread,
Jun 7, 2007, 5:39:18 AM6/7/07
to rails...@googlegroups.com
Merci je vais tester tout sa :-D

Zambra

unread,
Jun 8, 2007, 8:15:07 AM6/8/07
to rails...@googlegroups.com

> Au niveau de la base de donnée :
>
> - Requête SQL pour forcer l'encodage lors de la création de la base :
> CREATE DATABASE nom_de_la_base CHARACTER SET utf8;
>
> - Requête SQL pour forcer l'encodage d'une base déjà créé : ALTER
> DATABASE nom_de_la_base CHARACTER SET utf8;
>
> - Tu dois pouvoir éxecuter aussi la requête dans un fichier de migration
> : execute "ALTER DATABASE nom_de_la_base CHARACTER SET utf8"

Tu dois aussi ajouter éventuellement (je ne sais pas si c'est encore
nécessaire) dans le fichier database.yml

test:
adapter: mysql
database: projet1_test
encoding: utf8 <-----------
username: xxx
password: xxx

Reply all
Reply to author
Forward
0 new messages