小编Chr*_*ung的帖子

当我启动rails服务器时ImageMagick的警告

最近,当我启动rails服务器时,我有一长串警告.虽然它不会影响我的应用程序,但我想知道如何解决警告.我的估计是imagemagick以某种方式被称为两次?

当我在警告之前和之后检查我的git日志时.我想知道如何解决这个问题.

-     bcrypt-ruby (3.1.2)
-     better_errors (1.0.1)
+     bcrypt (3.1.7)
+     bcrypt-ruby (3.1.5)
 -      bcrypt (>= 3.1.3)
+     better_errors (1.1.0)
Run Code Online (Sandbox Code Playgroud)

bcrypt与imagemagick有什么关系吗?

/Users/rbchris/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/actionpack-4.0.0/lib/action_dispatch/http/mime_type.rb:166: warning: already initialized constant Mime::PDF
/Users/rbchris/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/actionpack-4.0.0/lib/action_dispatch/http/mime_type.rb:166: warning: previous definition of PDF was here
/Users/rbchris/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/rmagick-2.13.2/lib/RMagick.rb:44: warning: already initialized constant Magick::PercentGeometry
/Users/rbchris/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/rmagick-2.13.2/lib/rmagick.rb:44: warning: previous definition of PercentGeometry was here
/Users/rbchris/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/rmagick-2.13.2/lib/RMagick.rb:45: warning: already initialized constant Magick::AspectGeometry
/Users/rbchris/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/rmagick-2.13.2/lib/rmagick.rb:45: warning: previous definition of AspectGeometry was here
/Users/rbchris/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/rmagick-2.13.2/lib/RMagick.rb:46: warning: already initialized constant Magick::LessGeometry
/Users/rbchris/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/rmagick-2.13.2/lib/rmagick.rb:46: warning: previous definition of LessGeometry was here
/Users/rbchris/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/rmagick-2.13.2/lib/RMagick.rb:47: warning: …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails rmagick

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

使用 Dalli 列出远程服务器中的所有缓存项

我最近学习了更多关于 Memcached 的知识,以及 Dalli 如何与不同的缓存策略配合使用。我正在尝试使用我们的生产级项目之一远程连接到 heroku 上的 memcachier。通过一些教程,我发现了如何通过 Dalli 远程连接到远程 memcachier。

沙箱.rb:

require 'dalli'

memcachier_server = 'host_name:port'
memcachier_user = 'abc123'
memcachier_password = '1x8w3asdf82jdf'

cache = Dalli::Client.new(memcachier_server,
                                    {
                                        :username => memcachier_user,
                                        :password => memcachier_password,
                                        :failover => true,
                                        :socket_timeout => 1.5,
                                        :socket_failure_delay => 0.2
                                    })

p cache.stat
Run Code Online (Sandbox Code Playgroud)

我在运行时确认它有效,ruby sandbox.rb并且输出如下:

I, [2015-03-17T01:45:20.703729 #42640]  INFO -- : Dalli/SASL authenticating as abc123
I, [2015-03-17T01:45:21.305454 #42640]  INFO -- : Dalli/SASL: abc123
{"xyz.memcacheir.com:11211"=>{"curr_items"=>"24446", "bytes"=>"110738688", "evictions"=>"2586065", "expired"=>"0", "cas_hits"=>"0", "cas_misses"=>"0", "cas_badval"=>"0", "limit_maxbytes"=>"120586239", "total_items"=>"3782835", "bytes_read"=>"1559184266", "bytes_written"=>"33808073647", "curr_connections"=>"5", "total_connections"=>"1098", …
Run Code Online (Sandbox Code Playgroud)

ruby memcached caching heroku dalli

5
推荐指数
0
解决办法
1076
查看次数

GUID是否有可能全部用光?

假定每个GUID用16个字节表示。因此,充其量只有2 ^ 128个可能性= 3.4028237e + 38个可能的GUID。

是否有可能全部用光?

sql math uuid guid

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

谷歌地图的"仅显示左上方的瓷砖",使用Angular JS中的gMaps.js

我检查了谷歌地图的原生API有checkresize()方法..但它似乎不适用于gmaps.js的刷新功能.

有没有人使用AngularJS和gMaps.js有类似的问题?你怎么来解决它?

在调整大小之前

调整窗口大小后,地图再次出现.所以我想在gMap.js初始化时检查调整大小?

调整大小后

google-maps angularjs

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

我应该何时在rails中使用数组列和关联

自从Rails 4和Postgres 9开始array column实施.我使用阵列列来存储类似也尝试tagscategories,我不经常改变的,它被用作参考/刻面进行搜索.我之前提出了另一个关于使用数组列进行查询的问题,其中一个答案提到永远不要使用数组来存储数据.我很困惑,如果建议永远不要使用它,为什么会创建数组列.所以我的问题是

什么时候在Rails中使用数组列和模型关联被认为更好?

arrays postgresql ruby-on-rails ruby-on-rails-4

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

基于模型名称的 Rails 命名空间问题

我希望将特定于模型的某些功能子集的关注点分开。我在此处引用并遵循此模式

module ModelName::ConcernName
  extend ActiveSupport::Concern

  included do
    # class macros
  end

  # instance methods
  def some_instance_method

  end

  module ClassMethods
    # class methods here, self included
  end
end
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试启动服务器时,它会导致以下错误

自动加载常量 ModelName::ConcernName 时检测到循环依赖

我想知道对模型的某些子集函数进行关注的最佳方法是什么。

编辑

提供模型代码:路径:app/models/rent.rb

现在我的模型中有很多检查逻辑

class Rent < ActiveRecord::Base
    def pricing_ready?
        # check if pricing is ready
    end

    def photos_ready?
        # check if photo is ready
    end

    def availability_ready?
        # check if availability setting is ready
    end

    def features_ready?
        # check if features are set
    end
end
Run Code Online (Sandbox Code Playgroud)

我想把它分开 …

ruby-on-rails separation-of-concerns

4
推荐指数
3
解决办法
5030
查看次数

角度翻译即时方法不起作用

我们有一个角度翻译的网站.它完美地运作.我们有一个变量,我们想用某个语言键来固定.假设网站的语言有'en'和'zh'作为选项,我想要一个特定的翻译以'zh'返回,无论语言选择如何.

通过浏览API参考,我找到了一个名为Instant的方法来做到这一点.但是,当我们试图打电话时它不起作用

$translate.instant('zh', 'TRANSLATION_ID')
Run Code Online (Sandbox Code Playgroud)

它返回错误

TypeError: Object function (a,b,e){var f=d?n[d]:n,i=e?w[e]:u;if(f&&f.hasOwnProperty(a))return i.interpolate(f[a],b);if(h&&!v&&g.get(h)(a,d),d&&c&&d!==c){var j=n[c][a];if(j){var k;return i.setLocale(c),k=i.interpolate(j,b),i.setLocale(d),k}}return l&&(a=[l,a...<omitted>...a} has no method 'instant'
Run Code Online (Sandbox Code Playgroud)

我想知道如何正确使用isntant方法.

javascript angularjs

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

无法在Mac OS X Mavericks中安装Go 1.2.1

我按照链接下载Go 1.2.1并尝试在Mavericks OSX中安装.使用二进制包安装后,我进入路径/ usr/local/go并找到所有可执行文件.但是,当我试图跑

go version
Run Code Online (Sandbox Code Playgroud)

它返回

$ command not found: go
Run Code Online (Sandbox Code Playgroud)

我不确定我做错了什么,但我找不到任何资源.我也尝试过这个教程(链接),但仍然失败了.有帮助吗?

go osx-mavericks

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

Cron在主目录而不是文件目录中运行

我在stackoverflow中跟踪了一些其他帖子并使用RVM成功设置了cron rvm cron setup并将一些ENV注入crontab文件.

当我在解决为什么dotenv宝石不能正常工作时,我意识到以下几点:

我放置了我test.rb的文件路径,/home/myuser/ruby/test.rb并将crontab文件如下所示:

* * * * * ruby /home/myuser/ruby/test.rb >> /home/myuser/ruby/output.log
Run Code Online (Sandbox Code Playgroud)

当我把test.rb的输出放在Dir.pwd.输出表明rb在/home/myuser/目录而不是/home/myuser/ruby目录中运行.

虽然我通过手动更改路径有一个修补程序.但我想知道为什么会这样.

ruby cron rvm

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

如何防止过多的if-else条件

我有控制器来控制用户是否可以租用产品.我有很多条件要检查,每个都有不同的结果.我有太多的if else陈述.我想知道我可以遵循哪种设计模式使其更具可读性.

if current_user
  if rental_valid?
    if current_user.approved
      if eligible_to_use?(product_id)
        # redirect_to payment
      else 
        # redirect_to :back
        # alert not eligible
      end 
    else
      # redirect_to verify_path
    end 
  else
    # redirect_to :back
    # alert, rental not valid
  end 
else
  # redirect_to login_path
end
Run Code Online (Sandbox Code Playgroud)

ruby if-statement coding-style ruby-on-rails

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