小编Add*_*dsy的帖子

在开发环境中使用Rails 3发送邮件

我敢肯定这已被问过一百万次,但我找不到任何对我有用的东西,所以我再问一次!

我只需要一种在rails 3中使用ActionMailer发送电子邮件的方法.我已经遵循了许多教程,包括新ActionMailer上的Railscasts教程,我可以看到生成的邮件但我没有收到它们.

我尝试了许多不同的方法,但它们通常相当于配置以下设置

ActionMailer::Base.delivery_method = :smtp

ActionMailer::Base.smtp_settings = {
  :address              => "smtp.gmail.com",
  :port                 => "587",
  :domain               => "gmail.com",
  :user_name            => "xxx@gmail.com",
  :password             => "yyy",
  :authentication       => "plain",
  :enable_starttls_auto => true
}
Run Code Online (Sandbox Code Playgroud)

我在config/environment.rb,config/environments/development.rb中尝试了上面的代码(当然有有效的gmail详细信息),目前在自己的初始化配置/ initialisers/setup_mail.rb中有它

我也试过几个不同的smtp服务器,包括Gmail和Sendgrid,相应地调整smtp设置,但仍然没有.我可以在终端和开发日志中看到邮件,就是这样.

有没有人知道我可能错过的任何其他问题需要设置为ActionMailer工作?如果没有这种方法可以获得有关邮件未被发送的原因的更多信息?我有

config.action_mailer.raise_delivery_errors = true
Run Code Online (Sandbox Code Playgroud)

在我的config/development.rb中设置,但开发日志仍然显示与我在终端中看到的相同.

对于它的价值,我正在使用Ubuntu 10.04笔记本电脑进行开发,以防万一需要任何特定的设置.

非常感谢

ruby-on-rails actionmailer ruby-on-rails-3

54
推荐指数
3
解决办法
3万
查看次数

有没有办法限制javascript性能来模拟慢客户端

我正在一个使用jQuery的网站上工作,并且有相当数量的javascript运行使用$(document).ready().在我的开发机器上,一切运行都很棒,但它是一台非常强大的机器.我有人使用旧硬件行为的报告似乎很奇怪,我相信这是在较慢的机器上处理这个初始javascript所花费的时间.

很明显,解决方案是解决这个初始的javascript,但它让我想知道 - 有没有人知道一种方法来降低Chrome或Firefox中javascript的执行速度,以便能够在我的开发机器上模拟这些较慢的客户端?

干杯!

更新: 回到发布此问题时,目前没有相同的工具集.那时VM选项是最佳选择,因此我将其作为已接受的答案.但是这些天我会直接使用Chrome开发工具,而不是Oded Niv建议的

javascript

46
推荐指数
3
解决办法
2万
查看次数

避免网站数据库"数据抓取"的主要技术

我正在使用PHP和MySQL建立一个站点,它本质上只是现有数据库的Web前端.可以理解的是,我的客户非常希望能够阻止任何人在数据库中复制数据,同时希望所有内容都公开,甚至"查看全部"链接以显示数据库中的每条记录.

虽然我已经采取了一切措施来防止诸如SQL注入攻击之类的攻击,但没有什么可以阻止任何人将所有记录都视为html并运行某种脚本来将这些数据解析回另一个数据库.即使我要删除"查看全部"链接,理论上仍然可以使用自动化过程逐个浏览每个记录并将这些记录编译到新数据库中,从根本上捏取所有信息.

有没有人有任何好的策略来防止甚至只是阻止它们可以分享.

php mysql database

24
推荐指数
6
解决办法
7576
查看次数

使用S3,Rails和Paperclip时隐藏亚马逊网址

我刚刚使用Rails 3和Paperclip设置了文件上传到Amazon S3.所有这一切都非常好,并且正常运行.我想整理一个小细节.目前,网址是亚马逊网址(即启动http://s3.amazonaws.com),我希望他们从我的域名开始.

我已经将必要的CNAME记录添加到我的DNS中,并且它们正常工作,因此我可以通过我的域的子域访问这些文件.问题在于回形针生成的URL始于亚马逊域.有没有一种简单的方法来更改回形针配置以绕过这个?

干杯

ruby-on-rails amazon-s3 paperclip ruby-on-rails-plugins ruby-on-rails-3

8
推荐指数
1
解决办法
2445
查看次数

如何使用Yard for Rails视图生成文档?

我刚刚开始使用Yard来生成我的文档,虽然它对我的模型和控制器非常有用,但似乎无法让它为视图生成任何内容

我尝试了各种不同的方法使其正常工作。目前,我已经设置了一个rake任务来生成看起来像这样的文档

YARD::Rake::YardocTask.new do |t|
    t.files   = ['lib/**/*.rb', 'app/**/*.rb', 'app/views/**/*.erb']
    t.options = []
end
Run Code Online (Sandbox Code Playgroud)

我认为,最后一条路径应该包含我的观点,但是当我查看文档时,根本没有提到任何这些文件。有什么想法吗?

干杯

ruby ruby-on-rails yard ruby-on-rails-3

5
推荐指数
1
解决办法
1528
查看次数

使用rails 3中的ActionMailer以测试模式发送电子邮件

我在使用Rails 3在测试模式下发送邮件时遇到了一个奇怪的问题

我的邮件似乎没有返回任何东西.例如,我有一个名为UserMailer的邮件程序.用户可以在应用程序中进行需要批准的更改,这样就会有一个名为changes_approved的方法,该方法应该向用户发送一封电子邮件,通知他们他们的更改已被批准.

UserMailer < ActionMailer::Base

  default :from => "from@example.com"

  def changes_approved(user, page)

    @user = user
    @page = page

    mail(:to => user.email, :subject => "Your changes have been approved")

  end

end
Run Code Online (Sandbox Code Playgroud)

在我的控制器中,我有以下行

UserMailer.changes_approved(@page_revision.created_by, @page_revision.page).deliver
Run Code Online (Sandbox Code Playgroud)

但是我的测试在此时失败并出现错误:

未定义的方法`deliver'代表nil:NilClass

当我在开发站点上触发相同的操作(http:// localhost:3000通过浏览器)时,电子邮件被正确发送出去,一切都很愉快

并且为了进一步增加混淆,我正在使用设计进行身份验证,并且电子邮件似乎在测试和开发模式下都能正常工作.当然,我没有得到同样的错误,根据我的电子邮件规范测试,每个人都在工作

所以这让我相信我的邮件有问题,而不是我的测试邮件配置本身,但我不知道是什么.我们欢迎所有的建议

谢谢

ruby-on-rails actionmailer ruby-on-rails-3

3
推荐指数
2
解决办法
6601
查看次数

缺少NERDTree命令

我对vim相对较新,并且对NERDTree有一个问题,我似乎无法弄明白.

我似乎错过了一大堆命令,所以当我将它们映射到键时,我得到了消息(例如)

不是编辑器命令:NERDTreeMapToggleBookmarks

如果我运行:命令我可以在那里看到所有NERDTree全局命令(文档的第2.1节中的那些命令),这些看起来都有效,但就是这样.

我正在使用NERDTree 4.1.0,我是从github repo下载的.我怀疑我可能要么在设置插件时错过了一步,要么在我的.vimrc中丢失了一些东西,但我有点不知所措.

任何人有任何指针?就像我说的,我是vim的新手所以它可能是非常愚蠢或明显的东西!;)

非常感谢

vim nerdtree

2
推荐指数
1
解决办法
7687
查看次数