我有这个嵌套的循环,深入4级,找到所有图像小部件并计算它们的大小.这看起来真的很低效和讨厌!我曾想过将organization_id放在widget模型中,所以我可以调用像organization.widgets这样的东西.(named_scope),但我觉得这是一个糟糕的捷径.有没有更好的办法?谢谢
class Organization < ActiveRecord::Base
...
def get_image_widget_total
total_size = 0
self.trips.each do |t|
t.phases.each do |phase|
phase.pages.each do |page|
page.widgets.each do |widget|
if widget.widget_type == Widget::IMAGE
total_size += widget.image_file_size
end
end
end
end
end
return total_size
end
...
end
Run Code Online (Sandbox Code Playgroud) 我在environment.rb文件中定义了以下gem:
config.gem "authlogic"
config.gem "paperclip"
config.gem "pauldix-feedzirra", :lib => "feedzirra", :source => "http://gems.github.com"
config.gem 'whenever', :lib => false, :source => 'http://gemcutter.org/'
Run Code Online (Sandbox Code Playgroud)
我把它们安装在我的本地计算机上,一切运行良好.由于我正在使用共享服务器(DreamHost),我需要解压缩这些宝石以使它们工作(不能像我在自己的计算机上那样安装它们以使它们工作).
在上传之前,我在本地计算机上运行了以下命令:
rake gems:unpack
Run Code Online (Sandbox Code Playgroud)
这创建了以下文件夹/vender/gems
:
authlogic-2.1.3, paperclip-2.3.1.1, pauldix-feedzirra-0.0.18, whenever-0.4.1
Run Code Online (Sandbox Code Playgroud)
所以看起来他们都在那里.
rake db:migrate
但是,当我在服务器上运行时,我收到以下错误:
Missing these required gems:
pauldix-feedzirra
Run Code Online (Sandbox Code Playgroud)
出于某种原因,未检测到feedzirra未包装的宝石.任何人都能提供一个关于为什么会发生这种情况以及潜在解决方案的线索吗?
谢谢!
编辑:谢谢,但是放在environment.rb中的代码不起作用,并且bundler将无法在我的服务器上正确安装.还有其他建议吗?
我们有一个场景,我们希望允许我们的用户将图像上传到网站.我们在ASP.Net上运行.
快速搜索没有带来任何好处.如果控件是免费/开源的话会很棒,但是我们不介意付一点钱.
是否有一个Javascript等价的Perl的qw()方法来快速创建数组?即
in Perl @myarray = qw / one two three /;
in Javascript var myarray = ('one', 'two', 'three' ); // any alternative??
Run Code Online (Sandbox Code Playgroud) 鉴于如类
class MyClass:
text = "hello"
number = 123
Run Code Online (Sandbox Code Playgroud)
有没有办法在python中检查MyClass,确定它有两个属性text
和number
.我不能使用类似的东西,inspect.getSource(object)
因为我要使用SWIG生成它的属性(所以它们隐藏在.so :)).
所以我真的在寻找与Java相当的东西 [Class.getDeclardFields][1]
任何帮助将不胜感激,否则我将不得不用SWIG + JAVA而不是SWIG + Python来解决这个问题.
我需要将我的输入与Enter/ Returnkey 进行比较......
read -n1 key
if [ $key == "\n" ]
echo "@@@"
fi
Run Code Online (Sandbox Code Playgroud)
但这不起作用..这段代码有什么问题
我按照mongodb网站上的windows安装说明进行操作,但由于此错误,我仍然无法通过PHP连接到MongoDB:
找不到"Mongo"类
为什么不加载包含Mongo类的文件?
我也发现了这个错误:
PHP警告:PHP启动:mongo:无法初始化模块使用模块API编译的模块= 20090626,debug = 0,thread-safety = 1使用模块API编译的PHP = 20060613,debug = 0,thread-safety = 1这些选项需要在第0行的未知中匹配
我使用php 5.2.5和mongo-php-driver是Windows PHP 5.2 VC6线程安全
谢谢
pathTokens match {
case List("post") => ("post", "index")
case List("search") => ("search", "index")
case List() => ("home", "index")
} match {
case (controller, action) => loadController(http, controller, action)
case _ => null
}
Run Code Online (Sandbox Code Playgroud)
我想要连续的比赛.但得到了编译错误.:(
(pathTokens match {
case List("post") => ("post", "index")
case List("search") => ("search", "index")
case List() => ("home", "index")
}) match {
case (controller, action) => loadController(http, controller, action)
case _ => null
}
Run Code Online (Sandbox Code Playgroud)
当我用parenparenthesis包装第一场比赛时,它运作正常.为什么我需要括号?