小编Rin*_*cke的帖子

Ruby on Rails中的Sendgrid /电子邮件发送问题(在Heroku上托管)

我有一个问题,让sendgrid成功地在rails 3.1应用程序上发送电子邮件,该应用程序使用authlogic进行身份验证并部署在heroku上.我在config/environments/[development.rb和production.rb]上有以下动作邮件配置:

config.action_mailer.delivery_method = :smtp
config.action_mailer.default_url_options = { :host => 'localhost:3000' }
config.action_mailer.default_charset = "utf-8"
config.action_mailer.raise_delivery_errors = true
config.action_mailer.perform_deliveries = true
config.action_mailer.smtp_settings = {
  :address => 'smtp.sendgrid.net',
  :port => 587,
  :domain => ENV['SENDGRID_DOMAIN'],
  :user_name =>  ENV['SENDGRID_USERNAME'],
  :password => ENV['SENDGRID_PASSWORD'],
  :authentication => 'plain',
  :enable_starttls_auto => true
}

对于production.rb,上面的代码是相同的除外


    config.action_mailer.default_url_options = { :host => [app name in heroku] }

当我运行它的开发模式时,我收到以下错误报告:


    Completed 500 Internal Server Error in 21740ms
    Net::SMTPFatalError (550 Cannot receive from specified address notification@[app-domain]: Unauthenticated senders not allowed
):

我现在真的不知道如何设置它以使其工作.有没有先前在heroku和rails上设置sendgrid的经验的人知道发生了什么事吗?

非常感谢.你们是最棒的!!!

ruby-on-rails actionmailer heroku sendgrid

16
推荐指数
1
解决办法
1万
查看次数

rackspace vs EC2 vs Heroku vs Engine Yard for ruby​​ on rails

我有一个网站,我想通过Rackspace,EC2,Heroku或Engine Yard推出.

我已经使用了Heroku,并且喜欢启动和运行,推送更新,管理我的数据库等等是多么简单.但是,要获得基于主机名的SSL,我将需要支付20美元.另外,我不知道Heroku会花多少钱:我不完全确定如何衡量我的网站会看到多少活动.

我有一个交易,我可以从Rackspace和EC2获得几百美元的免费托管,但是......他们会像Heroku一样容易处理吗?Engine Yard怎么样?是否所有这些都会让我为我的SSL证书支付一定的金额来正确设置?

谢谢!请让我知道我可以澄清的内容 - 我对启动网站的世界还很陌生:)

林戈

hosting ruby-on-rails heroku amazon-ec2 engineyard

15
推荐指数
1
解决办法
1万
查看次数

需要挂钩到javascript函数调用,任何方式都可以这样做?

我正试图加入一个加载Facebook新闻源的功能:

UIIntentionalStream.instance && UIIntentionalStream.instance.loadOlderPosts();
Run Code Online (Sandbox Code Playgroud)

在Facebook.com上.

有没有办法让我用自己的JavaScript做到这一点?基本上,我需要进行某种回调 - 当调用该函数时,我希望调用自己的函数.

javascript

12
推荐指数
4
解决办法
1万
查看次数

点击heroku db:push

首先,我正在使用RVM ...而且我对管理gem列表知之甚少.

所以,我尝试使用heroku db:push将我的数据库推送到heroku,我收到以下错误:

$ sudo heroku db:push
Taps Load Error: no such file to load -- taps/operation
You may need to install or update the taps gem to use db commands.
On most systems this will be:

sudo gem install taps
Run Code Online (Sandbox Code Playgroud)

我安装了水龙头(sudo gem安装水龙头,现在点击0.3.23),我有最新的heroku.不知道为什么会发生这种情况......而且我似乎无法在网上找到很多信息.我尝试运行sudo heroku db:push,但这根本没有改变任何东西.

我也尝试在本地安装gem(?),但这给了我一个gem权限错误.

关于这里可能发生什么的任何想法?

ruby-on-rails heroku taps

11
推荐指数
2
解决办法
3754
查看次数

为了Heroku,从MySQL切换到PostgreSQL用于Ruby on Rails

我正在尝试将一个全新的Ruby on Rails应用程序推送到Heroku.目前,它位于MySQL上.看起来Heroku并不真正支持MySQL,因此我们正在考虑使用他们支持的PostgreSQL.

我有多难以期待这一点?我需要做些什么来实现这一目标?

再次请注意,我现在的DB(开发和生产)都是空的.

mysql postgresql ruby-on-rails heroku ruby-on-rails-3

7
推荐指数
3
解决办法
3351
查看次数

试图使用jquery工具提示插件,对象没有方法"工具提示"

我正在使用此工具提示:http://flowplayer.org/tools/demos/tooltip/index.html

我的html文件中有以下几行:

<script src="/javascripts/home.js" type="text/javascript"></script>
<script src="http://cdn.jquerytools.org/1.2.6/jquery.tools.min.js" type="text/javascript"></script>
<script type="text/javascript" src="/scripts/jquery.min.js"></script>

<div id="boo">
<img src="image1.jpg" title="this thing is a tool"/>
<img src="image2.jpg" title="this thing is also tool"/>
</div>
Run Code Online (Sandbox Code Playgroud)

我的home.js文件中有以下行:

$("#boo img[title]").tooltip();
Run Code Online (Sandbox Code Playgroud)

我的css文件中有以下行:

.tooltip {
    display:none;
    background:transparent url(/tools/img/tooltip/black_arrow.png);
    font-size:12px;
    height:70px;
    width:160px;
    padding:25px;
    color:#fff; 
}
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

Uncaught TypeError: Object [object Object] has no method 'tooltip'
Run Code Online (Sandbox Code Playgroud)

我的智慧结束了.我觉得我已经完全按照网站上的例子,但不知道发生了什么.

jquery jquery-ui tooltip jquery-tooltip

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

gon没有在javascript中定义错误

非常简单的问题.我正在尝试使用gon.我在控制器中设置变量,如下所示:

gon.preference = "hello"
Run Code Online (Sandbox Code Playgroud)

在我的.js.erb文件中,我尝试使用这样的变量:

console.log(gon.preference)
Run Code Online (Sandbox Code Playgroud)

但我得到一个错误,说"gon没有定义".可能是什么问题呢?显然,rails认识到有一个gon变量..js.erb文件位于我的assets/javascripts目录中.我尝试将文件名更改为.js(虽然我没想到这会产生任何影响).显然没有变化.

不知道为什么gon不起作用!

救命?

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

6
推荐指数
2
解决办法
7271
查看次数

上传文件时独角兽的超时错误

我在Heroku上使用独角兽.我遇到的一个问题是文件上传.我们使用carrierwave进行上传,基本上,即使对于大小约为2MB的文件,在完成50-60%的上传时,Unicorn也会超时.

我们在本地测试时没有使用独角兽,我在本地没有任何大文件问题(尽管文件使用carrierwave上传到AWS,就像生产+登台一样).但是,在暂存和生产服务器上,我看到我们得到了超时.

有关解决此问题的任何策略?我不确定我是否可以将此文件上传到延迟的作业上(因为我需要向我的用户确认该文件确实已成功上传).

谢谢!林戈

ruby-on-rails unicorn carrierwave

6
推荐指数
1
解决办法
2246
查看次数

适用于Rails的mobile_fu 4

我正在尝试将我的应用程序从Rails 3.2.13切换到Rails 4.这样做,我遇到了一个主要障碍 - 我使用gem mobile_fu来确定用户是否来自移动设备.那个宝石需要3.2.13的栏杆,但轨道4.0.2和轨道4.0.2的sass-rails都要求栏杆> = 4.0.

什么是解决这个问题的好方法?我很乐意深入研究mobile_fu代码,因为它似乎并不特别棘手,但我在处理铁路以及对铁路的依赖性方面的经验很少.

谢谢!

ruby-on-rails bundler ruby-on-rails-3 railtie

6
推荐指数
1
解决办法
1287
查看次数

使用一些转换事件的代码(包含代码)在移动设备上拖放,但正常事件不起作用

我使用以下代码允许在我的网站上进行触摸拖放.但是,虽然我的代码中具有拖放功能的部分可以工作,但在iPhone上,无论如何我都无法滚动或移动页面.我可以拖放,但常规的iPhone触控功能已经消失!

我在几个stackoverflow响应中找到了以下代码段,所以我想知道是否有解决方法.我希望能够在网络和移动设备上拖放.

谢谢!

我的拖动代码(只是一个列表):

$(function() {
    $(".drag_me ul").sortable();
});
Run Code Online (Sandbox Code Playgroud)

触摸事件的代码:

function touchHandler(event)
{
 var touches = event.changedTouches,
    first = touches[0],
    type = "";

     switch(event.type)
{
    case "touchstart": type = "mousedown"; break;
    case "touchmove":  type="mousemove"; break;        
    case "touchend":   type="mouseup"; break;
    default: return;
}
var simulatedEvent = document.createEvent("MouseEvent");
simulatedEvent.initMouseEvent(type, true, true, window, 1,
                          first.screenX, first.screenY,
                          first.clientX, first.clientY, false,
                          false, false, false, 0/*left*/, null);

first.target.dispatchEvent(simulatedEvent);
event.preventDefault();
}

function init()
{
   document.addEventListener("touchstart", touchHandler, true);
   document.addEventListener("touchmove", touchHandler, true);
   document.addEventListener("touchend", touchHandler, true);
   document.addEventListener("touchcancel", touchHandler, true);    
}
Run Code Online (Sandbox Code Playgroud)

javascript jquery touch dom-events jquery-mobile

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