2

さて、これは奇妙ですシナリオを説明させてください

Railsアプリケーション用にこのメーラーを定義してもらいます

class DeliveryMail < ActionMailer::Base
  default from: "from@example.com"

  def document_upload_mail(user,document)
     @user = user
     @document = document
     mail(:to => user.email ,:subject =>  "Envió de enlace descarga documentos resultados domain") do |format|
      format.html { render "upload_file" }
     end
  end
end

今問題はこのスペイン語のテキストです

Envió de enlace descarga documentos resultados domain

これをメールの件名として設定するたびに

:subject => "Envió de enlace descarga documentos resultados domain"

これは私のコンソールでのエラーRailsプロンプトです

syntax error, unexpected $end, expecting ')'

「」というテキストを削除すると、EnvióRailsはエラーをスローせず、メールが配信されます。

構文が欠落していないことをお知らせします

メールコードを貼り付ける

class DeliveryMail < ActionMailer::Base
  default from: "from@example.com"

  def user_creation_mail(user,password)
    @user = user
    @password = password
    mail(:to => user.email,:subject => "Congratulation you been registered in Domain") do |format|
      format.html { render "user_creation" }
    end
  end


  def document_upload_mail(user,document)
     @user = user
     @document = document
     mail(:to => user.email ,:subject =>  "Envió de enlace descarga documentos resultados domain") do |format|
      format.html { render "upload_file" }
     end
  end
end

これらの何が悪いのかわからない

同じ動作が共有されていることを確認するために、ダミーのRailsアプリケーションを作成しました

はい、このアプリケーションでも同じエラーが見つかりました

私のRailsバージョンは

3.2.1

Rubyバージョン

1.9.2-p290

確かに何か問題があります誰かがこれについて私を導くことができます

4

2 に答える 2

2

これをクラスの一番上に置いてくださいDeliveryMail。または他の場所に特殊文字が存在します。

# encoding: UTF-8

アプリの漢字でも同様の問題が発生しました。このコード行を追加すると、問題が修正されました。

于 2012-06-17T09:44:19.003 に答える
1

試す:

# coding: utf-8

coding:最初の行のコメントを入力し、オプションの空白の後にファイルの残りの部分のエンコーディングを指定するだけです。ここに、次のような追加の説明を入れることができます。

# I will use the following encoding: utf-8. Till the end of the file.

見る?coding:一部がここにあるので、動作します。

于 2012-06-17T09:41:08.447 に答える