我刚刚更新了所有的宝石,我发现在尝试运行Test :: Unit测试时我遇到了错误.我收到下面复制的错误.这来自于创建新的空Rails项目,搭建一个简单的模型和运行rake test.
尝试谷歌搜索"未初始化的常量"和TestResultFailureSupport.我发现的唯一一件事是2007年的这个错误报告.
我正在使用OS X.
这些是我在测试停止工作之前更新的宝石:
$ sudo gem outdated
Password:
RedCloth (4.2.1 < 4.2.2)
RubyInline (3.8.1 < 3.8.2)
ZenTest (4.1.1 < 4.1.3)
bluecloth (2.0.4 < 2.0.5)
capistrano (2.5.5 < 2.5.8)
haml (2.0.9 < 2.2.1)
hoe (2.2.0 < 2.3.2)
json (1.1.6 < 1.1.7)
mocha (0.9.5 < 0.9.7)
rest-client (1.0.2 < 1.0.3)
thoughtbot-factory_girl (1.2.1 < 1.2.2)
thoughtbot-shoulda (2.10.1 < 2.10.2)
Run Code Online (Sandbox Code Playgroud)
还有其他人看过这个问题吗?任何疑难解答建议
在预感中,我将ZenTest从4.1.3降级回4.1.1现在一切都恢复正常.
仍然很想知道是否有其他人看过这个或有任何有趣的评论或见解.
$ rake test
(in /Users/me/foo)
/usr/local/bin/ruby -I"lib:test" "/usr/local/lib/ruby/gems/1.8/gems/rake-0.8.7/lib/rake/rake_test_loader.rb" "test/unit/helpers/users_helper_test.rb" "test/unit/user_test.rb"
/usr/local/lib/ruby/gems/1.8/gems/activesupport-2.3.2/lib/active_support/dependencies.rb:105:in …Run Code Online (Sandbox Code Playgroud) 在Ruby on Rails中,对于条件,很容易进行SQL注入证明查询:
:conditions => ["title = ?", title]
Run Code Online (Sandbox Code Playgroud)
标题来自外部,来自网络表单或类似的东西.
但是,如果您在查询的其他部分使用SQL片段,例如:
:select => "\"#{title}\" AS title" # I do have something like this in one instance
:joins => ["LEFT JOIN blah AS blah2 ON blah2.title = \"#{title}\""]
Run Code Online (Sandbox Code Playgroud)
有没有办法正确逃脱这些字符串?
在我的application_controller中,我有以下设置来包含具有url_for生成的所有路径的语言环境:
def default_url_options(options={})
{ :locale => I18n.locale }
end
Run Code Online (Sandbox Code Playgroud)
我的资源路由有一个:path_prefix ="/:locale"
在网站上正常工作.
但是当涉及到我的功能测试时,:locale不会与生成的url一起传递,因此它们都会失败.我可以通过在我的测试中将语言环境添加到url来解决它,如下所示:
get :new, :locale => 'en'
Run Code Online (Sandbox Code Playgroud)
但我不想手动将语言环境添加到每个功能测试中.
我尝试将default_url_options def添加到test_helper上面,但似乎没有效果.
有什么办法可以更改default_url_options以包含我所有测试的区域设置吗?
谢谢.
我有一个简单的Rails控制器,它不依赖于数据库.
class PingController < ActionController::Base
def ping
render text: 'The service is up'
end
end
Run Code Online (Sandbox Code Playgroud)
但是,当数据库关闭时,此控制器操作会阻塞.为什么会这样?
我是一名C#/ .NET开发人员,希望能够完全不同的东西 - LAM(*)堆栈用于快速构建Web应用程序.
我在想Django或Rails.我有点像Python语言,它似乎比Ruby更全面,用于统计,科学和网络(如果你认为这是错误的,请告诉我).然而,RoR社区似乎要大得多 - 这可能会让它更安全.你觉得这很重要吗?有人有RoR和Django的经验吗?
更新:具体来说,我希望能够快速建立一个面向社区财务的网站.肯定有很多Ruby Gems可以加速这个过程,但我注意到Django上的Pinax看起来很有前途.我知道Python已经非常受金融/数学编程的欢迎.其他人有意见吗?
更新2:注意到有关ASP.NET MVC的一些注释.事实上,我已经完成了ASP.NET MVC的非常重要的工作 - 一个用于医疗设备服务的LOB应用程序,我喜欢它.与ASP.NET Web表单相比,IMHO是一种更好,更直观的Web应用程序编写方式.但是,我真的在寻找一个非.NET开发环境来开发一些chops.
在使用Rake任务长时间部署应用程序后,我开始阅读Capistrano.它与Rake的相似之处真是惊人.许多并行命令(如cap -T)和许多相同的概念(命名空间,任务).
有谁知道背后的历史?Capistrano是Rake的延伸,还是建立在它之上?
我经常想清除Rails中的会话存储,特别是默认的基于cookie的会话存储.有些网站似乎暗示了这一点
rake tmp:sessions:clear
Run Code Online (Sandbox Code Playgroud)
完成这项任务,但似乎没有.清除基于cookie的会话存储的正确方法是什么?
我在rails应用程序中有以下模型
category => company => store
Run Code Online (Sandbox Code Playgroud)
商店有belongs_to公司,公司有belongs_to类别关系.现在我想在商店对象上使用where方法来检索同一类别中的所有商店.
我想要这样的东西
@stores.nearbys(5).where("stores.company.category_id = xxx")
Run Code Online (Sandbox Code Playgroud)
有人可以给我一个提示
以下代码应该返回一个json:
@series = @series.map do |serie| {
:name => serie.name,
:id => serie.id
}
@series.to_json
Run Code Online (Sandbox Code Playgroud)
它的回报如下:
"[{\"name\":\"Barra\",\"id\":3},{\"name\":\"Botafogo 1\",\"id\":1},{\"name\":\"Botafogo 2\",\"id\":2},{\"name\":\"Tijuca\",\"id\":4}]"
Run Code Online (Sandbox Code Playgroud)
为什么它返回一个字符串而不是一个json?
我的.rb文件顶部安装并需要'json'gem
我试图打开一个docx文件并使用rubyzip 1.0.0和rails 3写回来.
在我的gemfile中我有:
gem 'rubyzip'
Run Code Online (Sandbox Code Playgroud)
我正在运行的代码是;
module Look
class Generator
def initialize(item)
doc = Nokogiri::XML.parse(item.to_xml)
xslt = Nokogiri::XSLT(File.read("<path_to_xslt_file>.xslt"))
@outxml=xslt.transform(doc)
zip = Zip::ZipFile.open("<path_to_docx_file>.docx")
@outxml
end
end
end
Run Code Online (Sandbox Code Playgroud)
虽然正确创建了@outxml(我可以手动将其添加到docx文件并查看结果),但我甚至无法开始创建zip文件,因为这...
uninitialized constant Zip::ZipFile
Run Code Online (Sandbox Code Playgroud)
检查了所有文档并尝试了很多组合后,我仍然感到非常难过.
任何人都可以告诉我为什么这不起作用?
谢谢.
ruby-on-rails ×10
ruby ×6
testing ×2
c# ×1
capistrano ×1
cookies ×1
deployment ×1
django ×1
escaping ×1
gem ×1
json ×1
python ×1
rake ×1
rubyzip ×1
session ×1
string ×1
where-clause ×1