2012-06-04 2 views
1

Je suis en train d'installer un logiciel de messagerie avec SMTP et obtenir l'erreur suivante (à partir de la console):Pourquoi est-ce que je reçois un "caractère multibyte invalide" dans mon application Rails?

SyntaxError (/Users/nelsonkeating/Desktop/prelaunch/app/mailers/user_mailer.rb:6: invalid multibyte char (US-ASCII) 
/Users/nelsonkeating/Desktop/prelaunch/app/mailers/user_mailer.rb:6: syntax error, unexpected $end, expecting ']' 
    headers[‘X-MC-Track’] = "opens, clicks" 
      ^): 
    app/models/user.rb:37:in `send_welcome_email' 

user_mailer.rb:

class UserMailer < ActionMailer::Base 
    default :from => "[email protected]" 

    def welcome_email(user) 
    mail(:to => user.email, :subject => "Invitation Request Received") 
    headers[‘X-MC-Track’] = "opens, clicks" 
    headers[‘X-MC-GoogleAnalytics’] = "example.com" 
    headers[‘X-MC-Tags’] = "welcome" 
    end 
end 

User.rb:

35 def send_welcome_email 
36 unless self.email.include?('@example.com') 
37  UserMailer.welcome_email(self).deliver 
    end 
    end 

Répondre

1

Ruby n'accepte que les guillemets simples, les guillemets doubles et les guillemets pour citer les guillemets. Chacun d'eux a une signification différente.

Puisque vous citez des clés de hachage headers avec un guillemet et une citation arrière multi-octets, ruby ​​émet l'erreur. Je suppose que vous avez copié certains codes sources précompilés sur un site Web.

Vous pouvez remplacer ci-dessus la source comme celui-ci, en utilisant des guillemets simples:

headers['X-MC-Track'] = "opens, clicks" 
headers['X-MC-GoogleAnalytics'] = "example.com" 
headers['X-MC-Tags'] = "welcome" 

Notez que, en général, à l'aide de symboles (:like_this) pour une clé de hachage est recommandé, mais pour le cas comme ci-dessus, vous devez utiliser des guillemets simples ou des guillemets doubles, car il contient - comme partie des clés.

+0

Désolé, il suffit de passer à "@ example.com"? – nelson

+0

oh désolé j'ai mal lu que je l'ai, merci – nelson

+0

Ce lien pourrait vous aider http://railsapps.github.com/tutorial-rails-prelaunch-signup.html – vajapravin

Questions connexes