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

红宝石版本

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 回答