小编Pet*_*ich的帖子

JavaScript执行失败连接到mongoHQ shell

试图直接访问MongoHQ:

> mongo mongodb://heroku:mypassword@alex.mongohq.com:10046/myapp
MongoDB shell version: 2.4.3
connecting to: mongodb://heroku:mypassword@alex.mongohq.com:10046/myapp
Tue Jun  4 16:10:09.255   Assertion failure _setName.size() src/mongo/client/dbclientinterface.h 211
0x10017116b 0x100135396 0x100068356 0x100129bab 0x10010f92f 0x10024b2fa 0x139ba3a06362 0x139ba3a0ce93 0x139ba3a400c9 0x139ba3a0c76e 
 0   mongo                               0x000000010017116b _ZN5mongo15printStackTraceERSo + 43
 1   mongo                               0x0000000100135396 _ZN5mongo12verifyFailedEPKcS1_j + 310
 2   mongo                               0x0000000100068356 _ZN5mongo16ConnectionString5parseERKSsRSs + 1878
 3   mongo                               0x0000000100129bab _ZN5mongo17mongoConsExternalEPNS_7V8ScopeERKN2v89ArgumentsE + 187
 4   mongo                               0x000000010010f92f _ZN5mongo7V8Scope10v8CallbackERKN2v89ArgumentsE + 175
 5   mongo                               0x000000010024b2fa _ZN2v88internalL30Builtin_HandleApiCallConstructENS0_12_GLOBAL__N_116BuiltinArgumentsILNS0_21BuiltinExtraArgumentsE1EEEPNS0_7IsolateE + 618
 6   ???                                 0x0000139ba3a06362 0x0 + 21559186056034
 7   ???                                 0x0000139ba3a0ce93 0x0 + 21559186083475
 8   ??? …
Run Code Online (Sandbox Code Playgroud)

mongodb mongohq

14
推荐指数
1
解决办法
6523
查看次数

config.assets.precompile不添加供应商/宝石资产

我无法将供应商资产编译为根文件.

我希望独立提供以下资源(不与其他资产一起打包):

vendor/gems/neo-viz/app/assets/stylesheets/neo-viz.css.scss
vendor/gems/neo-viz/app/assets/javascripts/neo-viz.js.coffee
vendor/gems/neo-viz/app/assets/javascripts/lib/jQuery/jquery-1.6.1.min.js
vendor/gems/neo-viz/app/assets/javascripts/lib/arbor/arbor.js
Run Code Online (Sandbox Code Playgroud)

使用以下行:

config.assets.precompile += %w( jquery-1.6.1.min.js arbor.js neo-viz.js neo-viz.css )
Run Code Online (Sandbox Code Playgroud)

只预编译css文件并使其可用.为什么?

此外,在看到这个问题(在Rails中包含带有config.assets.precompile的子目录中的资产)之后,我尝试了:

config.assets.precompile += %w( jquery-1.6.1.min.js arbor.js neo-viz.js neo-viz.css lib/arbor/arbor.js arbor/arbor.js lib/jQuery/jquery-1.6.1.min.js jQuery/jquery-1.6.1.min.js   )
Run Code Online (Sandbox Code Playgroud)

但它没有任何区别.想法?

assets ruby-on-rails precompile asset-pipeline

13
推荐指数
1
解决办法
9812
查看次数

rails部分的布局与命名的yield - 为什么yield块从未使用过?

我有一个部分,有一个布局:

<%= render :partial => 'home/mobile/home', :layout => 'home/mobile/page', :locals => {:page => 'abc2'}%>
Run Code Online (Sandbox Code Playgroud)

布局(page.html.erb)具有不同块的产量,例如:

<div data-role="header">
  <%= yield :header %>
</div>
Run Code Online (Sandbox Code Playgroud)

但是,从不使用此yield块,而主级布局文件确实产生了预期的效果.

使用部分布局的命名content_for/yield块是不是不可能?有变通方法吗?

我希望继承 - content_for:header应首先在partial的布局中查找yield:标头,并且失败,即主布局文件.但这种情况并非如此.部分布局的yield:标头被简单地忽略.

layout ruby-on-rails partials content-for

12
推荐指数
2
解决办法
1751
查看次数

使用`config.exceptions_app = self.routes`在Rails 3.2中解决错误

按照这篇文章:

http://blog.plataformatec.com.br/2012/01/my-five-favorite-hidden-features-in-rails-3-2/

处理错误的最新方法如​​下所示:

# application.rb:
config.exceptions_app = self.routes

#routes.rb
match "/404", to: "site#not_found"
Run Code Online (Sandbox Code Playgroud)

但是,他没有说明rails错误应用程序还处理500个错误,422个错误(以及可能还有其他错误传递给这两个页面的事实?)

所以我一起攻击了一个看起来像这样的解决方案:

# routes.rb
rack_error_handler = ActionDispatch::PublicExceptions.new('public/')
match "/422" => rack_error_handler
match "/500" => rack_error_handler
Run Code Online (Sandbox Code Playgroud)

它的好处在于它使我的500页轻量级.

我还应该抓住其他错误吗?我的理解是,虽然500页现在将使用两个机架应用程序,但它仍然可以安全地与主Rails应用程序隔离.这很强吗?

谢谢!

routing ruby-on-rails

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

适当的胡须标签助手程序

我一直在阅读胡子文档,看起来很酷:https: //github.com/defunkt/mustache

ruby代码和html标记之间有明显的区别.没有开始胡子项目,我的困惑是:如何处理生成标记的ruby?明显的例子是表单助手和link_to,更不用说任何自定义方法了.{{link_to ...}}是否合适(或可能)? - 在标记中包含代码.或者在视图ruby中定义自定义方法:{{whatever_link}}? - 这似乎不干,同样不受欢迎.胜利在哪里?

谢谢!
--Peter

ruby templates ruby-on-rails mustache

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

rspec 模拟外部 api

TDD 新手,天啊!

简而言之,这是我想要测试的内容(ruby​​ 库):

 account = Twilio::RestAccount.new(ACCOUNT_SID, ACCOUNT_TOKEN)
    resp = account.request(
        "/#{API_VERSION}/Accounts/#{ACCOUNT_SID}/SMS/Messages",
        'POST',
        smsInfo
    )
Run Code Online (Sandbox Code Playgroud)

这是测试代码尝试:

describe Text do
  it "should call the Twilio API with credentials" do
    #pending "mocking api although not passed in.."
    t = mock(Twilio::RestAccount)
    twapi = mock("new twapi").should_receive(:request).and_return(Net::HTTPSuccess)
    t.stub(:new).and_return(twapi)

    Twilio::RestAccount.should_receive(:new)

    sms = Factory.create(:boring_sms)
    sms.send_sms
  end
end
Run Code Online (Sandbox Code Playgroud)

生成错误: undefined method `request' for nil:NilClass

我采取的方法正确吗?谢谢!

testing rspec mocking twilio

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

HABTM mongoid追随者/追随者

Mongoid在一个habtm上运行.push,它在两个方向上建立了一个habtm关系.虽然删除将#delete一个相关的记录,但没有记录的方法只删除我见过的关系.有没有更好的方法呢?

有没有更好的方法来确保独特性?

has_and_belongs_to_many :following, {class_name: 'User', inverse_of: :followers, inverse_class_name: 'User'}
  has_and_belongs_to_many :followers, {class_name: 'User', inverse_of: :following, inverse_class_name: 'User'}

  def follow!(user)
    self.following.push(user) # this pushes the inverse as well
    self.following_ids.uniq!
    self.save!
    user.follower_ids.uniq!
    user.save!
  end

  def unfollow!(user)
    self.following.delete(user.id)
    self.save!
    user.followers.delete(self.id)
    user.save!
  end
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails has-and-belongs-to-many mongoid

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

phonegap 1.3.0中的白名单状态是什么?

phonegap/callback/cordova在所有平台上都有白名单吗?它是否以相同的方式实现?

mobile callback whitelist cordova

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

上传到s3时的图像损坏,仅限生产.(载波,发动机厂)

我正在使用carrierwave将图像上传到亚马逊s3.这在开发上非常有用,但是当我将它推送到我的服务器(engineyard cloud trial)时却没有.

该过程工作正常,不会抛出任何错误,并返回一个链接.但是,不知何故,实际图像已损坏.

这是一个,例如:https://s3.amazonaws.com/ZenBucket/uploads/goal/photo/30/guinness-toucan.jpg

任何人都可以告诉我它是如何被破坏,或者是什么可以做到这一点?

编辑:部署后的第一个图像上载尝试总是似乎失败500,但错误不会显示在日志中.不确定这是否相关.

编辑2:似乎也发生了蜻蜓宝石而不是载波.

谢谢

ruby-on-rails corruption amazon-s3 engineyard carrierwave

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

强调油门+确保最后一次通话

Underscore提供方法,节流.从他们的文档:

创建并返回传递函数的新的受限制版本,当重复调用时,每次等待毫秒最多只调用一次原始函数.对于速度限制事件非常有用,这些事件发生得比您能跟上的速度要快.

现在想象一下自动填充表单的情况.这意味着如果在100ms窗口内输入"abc",则只会搜索"a",而不是"bc".

这是对underscore.js的严重疏忽吗?你会建议什么是干净的解决方案?

javascript ajax timeout throttling underscore.js

5
推荐指数
2
解决办法
2307
查看次数