最近,当我启动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) 我最近学习了更多关于 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) 假定每个GUID用16个字节表示。因此,充其量只有2 ^ 128个可能性= 3.4028237e + 38个可能的GUID。
是否有可能全部用光?
我检查了谷歌地图的原生API有checkresize()方法..但它似乎不适用于gmaps.js的刷新功能.
有没有人使用AngularJS和gMaps.js有类似的问题?你怎么来解决它?

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

自从Rails 4和Postgres 9开始array column实施.我使用阵列列来存储类似也尝试tags或categories,我不经常改变的,它被用作参考/刻面进行搜索.我之前提出了另一个关于使用数组列进行查询的问题,其中一个答案提到永远不要使用数组来存储数据.我很困惑,如果建议永远不要使用它,为什么会创建数组列.所以我的问题是
什么时候在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)
我想把它分开 …
我们有一个角度翻译的网站.它完美地运作.我们有一个变量,我们想用某个语言键来固定.假设网站的语言有'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方法.
我按照链接下载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)
我不确定我做错了什么,但我找不到任何资源.我也尝试过这个教程(链接),但仍然失败了.有帮助吗?
我在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目录中运行.
虽然我通过手动更改路径有一个修补程序.但我想知道为什么会这样.
我有控制器来控制用户是否可以租用产品.我有很多条件要检查,每个都有不同的结果.我有太多的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 ×4
angularjs ×2
arrays ×1
caching ×1
coding-style ×1
cron ×1
dalli ×1
go ×1
google-maps ×1
guid ×1
heroku ×1
if-statement ×1
javascript ×1
math ×1
memcached ×1
postgresql ×1
rmagick ×1
rvm ×1
sql ×1
uuid ×1