Ruby on rails 在Rails 3.2应用程序中使用非英语字符导致意外错误
这很奇怪,让我描述一下这个场景 我为我的rails应用程序定义了这个mailerRuby on rails 在Rails 3.2应用程序中使用非英语字符导致意外错误,ruby-on-rails,ruby-on-rails-3.2,Ruby On Rails,Ruby On Rails 3.2,这很奇怪,让我描述一下这个场景 我为我的rails应用程序定义了这个mailer class DeliveryMail < ActionMailer::Base default from: "from@example.com" def document_upload_mail(user,document) @user = user @document = document mail(:to => user.email ,:subject =&g
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
每当我把这个作为邮件的主题
: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
class DeliveryMailuser.email,:subject=>“祝贺您在域中注册”)采用|格式|
format.html{呈现“用户创建”}
结束
结束
def文件上传邮件(用户、文件)
@用户=用户
@文件=文件
邮件(:to=>user.email,:subject=>“Envióde enlace descarga documentos resultados domain”)格式|
format.html{render“upload_file”}
结束
结束
结束
不知道这些有什么问题
我创建了一个虚拟rails应用程序,以检查是否共享了相同的行为
是的,我在这个应用程序中也发现了同样的错误
我的Rails版本是
3.2.1
Ruby版本
1.9.2-p290
确实有什么问题,有人能给我指点一下吗试试:
# coding: utf-8
只需将coding:
放在第一行注释中,然后在可选空格后指定文件其余部分的编码。您可以在此处添加额外的解释,如:
# I will use the following encoding: utf-8. Till the end of the file.
看到了吗<代码>编码:部分在这里,因此它可以工作。将其放在
DeliveryMail
类的最顶端。或者其他任何有特殊字符的地方
# encoding: UTF-8
我在我的应用程序中遇到了类似的汉字问题,添加这行代码为我解决了这个问题。甚至
“Envió”。force_编码(“UTF-8”)
无法解决文件mailer查看文件或交付的目的。\u mailer.rb文件明白了我不明白你的答案是ruby注释
而不是ruby hash
@Viren这是一个神奇的注释。它指定了文件的编码。我想你是在哪里要求我在ActionMailer配置中将这些作为哈希值放置的。那个评论帮助只是想知道更多关于它的信息,你能在上面和我分享任何链接吗it@Viren我在一本关于Ruby的纸质书上读到过。但没有那么多需要进一步解释的。只需将couding:
放在第一行注释中,然后在可选空格后指定文件其余部分的编码。您可以在这里添加额外的解释,例如:#我将使用以下编码:utf-8
。看到了吗<代码>编码:
零件在这里,所以它可以工作。这里的编码是不区分大小写的。@Viren是我说的,这是一本纸质书。我无法链接到它:)如果您感兴趣,它被称为“编程Ruby 1.9:实用程序员指南”。还想知道,当rails引导应用程序时,没有报告此错误
# encoding: UTF-8