Ruby on Rails的ORM有一个t.timestamps处理程序.它在表中添加(并填充和更新)created_at/updated_at行.
但是我可以想到一些不使用时间戳的原因:
关于何时包含updated_at和created_at列以及何时将其删除,是否有良好的经验法则?
我的理由不使用它们有效吗?或者这可以被忽略,我应该简单地"只是添加它们,无论如何,你永远不知道什么时候你可能需要它们"?
对于确定侧边栏行为的控制器,我需要调用几个URL; 侧边栏将根据其显示的页面更改(ao).
describe SidebarController do
before(:each) do
@sidebar = SidebarController.new
end
it 'should return :jobseekers for root_path' do
get(root_url)
@sidebar.section(root_path).should eq :jobseekers
end
end
Run Code Online (Sandbox Code Playgroud)
然而,这失败了 ActionController::RoutingError: No route matches {:controller=>"sidebar", :action=>"http://test.host/"}
我可以get将网址或路径作为字符串吗?是否有更智能的方法来设置request.数据,而不是GETting它?
我用vim与debugger和xdebug走线槽PHP应用程序.
在firefox(或任何其他浏览器)中,我需要打开页面,调用XDEBUG_SESSION_START=1附加到它的URL,以告诉xdebugPHP插件启动调试服务器.
这工作正常,但它可以变得更简单吗?
是否有一些firefox插件允许我自动添加此会话?一些xdebug设置允许我完全绕过这个?或者一些vim-addon,脚本或技巧,允许我自动添加该参数调用firefox?
在Ruby中(甚至更多:Rails),很容易将方法标记为已弃用.
但是,如何将整个类标记为已弃用?我想在使用类时发出警告:
class BillingMethod
end
BillingMethod.new #=> DEPRECATION WARNING: the class BillingMethod is deprecated. Use PaymentMethod instead.
Run Code Online (Sandbox Code Playgroud)
或者当它在继承中使用时:
class Sofort < BillingMethod
end
Sofort.new #=> DEPRECATION WARNING: the class BillingMethod is deprecated. Use PaymentMethod instead.
Run Code Online (Sandbox Code Playgroud)
或者,在嵌套类中使用时:
class BillingMethod::Sofort < BillingMethod
end
BillingMethod::Sofort.new #=> DEPRECATION WARNING: the class BillingMethod is deprecated. Use PaymentMethod instead.
Run Code Online (Sandbox Code Playgroud)
我认为a- class_evalblock将成为发出这种警告的地方.这是正确的地方吗?还是有更好的方法?
我不确定我什么时候或者我改变了什么,但突然xdebug不再呈现其格式化的堆栈跟踪.相反,它渲染stacktrtace没有任何HTML; 这是一个例子 ; 虽然我希望像这里的橙色表
我搜索了文档,但找不到任何对(un)设置它的设置或配置的引用.我做错了什么?
我的xdebug.ini(Ubuntu,所以/etc/php5/conf.d/xdebug.ini)很小:
zend_extension=/usr/lib/php5/20090626+lfs/xdebug.so
xdebug.default_enable = 1
xdebug.auto_trace = 1
xdebug.remote_enable = 1
xdebug.remote_port = 9010
xdebug.remote_host = audrey
; xdebug.profiler_enable = 1
; Markup of var_dump
xdebug.overload_var_dump = 1
Run Code Online (Sandbox Code Playgroud) 我们有一段遗留代码(ab)fopen()通过HTTP 使用对资源的调用:
@fopen('http://example.com')
Run Code Online (Sandbox Code Playgroud)
我们希望将example.com移至另一台主机,然后发送"301 Permanently Moved",但是,我们并不完全确定是否@fopen()会遵循这一规定.
初步测试表明它没有.但也许我会错过一些配置文章.
是否有一个通用解析器来解析"... before"字符串并将它们转换为DateTime对象?
可能的句子是:
所以它要么是两个的组合(Foo和Bar之前),要么只有一个(Foo之前).它可以是单数或复数.
Ruby DateTime::parse()无法处理这个问题,也无法处理DateTime::strptime().
我希望有一个宝石或片段处理这个.
否则我将不得不创建自己的解析器,在这种情况下,非常欢迎指向如何创建自己的DateTime解析器的指针.
旁注:对于未来参考:这些是Drupals Format Interval生成的时间字符串
我有一个Ruby on Rails的模型Camping与#latitude和#longitude属性.
这应该得到验证.必须进行验证,以便:
我不感兴趣在这一点上是否是一个实际有效的地址(海洋,北极,无论如何,只要它是地球上的有效点).
我正在使用geocoder gem,但是现在,输入只是一对lat/lon文本字段.地理编码器只是对这个问题感兴趣,因为它可能有实用方法(我找不到)来验证纬度/经度对.
在致电sinatra本身时,$ ruby tubemp.rb有效.但通过rackup它没有.应用程序,以某种方式找不到内联模板.
#config.ru
require 'rubygems'
require 'sinatra'
set :environment, ENV['RACK_ENV'].to_sym
disable :run, :reload
require './tubemp.rb'
run Sinatra::Application
Run Code Online (Sandbox Code Playgroud)
返回的错误是:
No such file or directory - /home/ber/Documenten/ET_tubemp/code/views/index.erb:
Run Code Online (Sandbox Code Playgroud)
相关部分来自 tubemp.rb
get '/' do
#...
erb :index
end
__END__
@@ layout
<html>
...
<%= yield %>
@@ index
Welcome!
Run Code Online (Sandbox Code Playgroud)
不知何故,通过rackup,它希望视图存在于实际的视图文件中.我想当__END__包含左右时,机架无法处理令牌.
除了将模板移动到模板文件之外,我该如何处理?
是否有minitest的记者从最小的规范生成HTML?或者我错过了内置功能或标志?
Rspec有格式化程序来生成HTML文档,但我找不到最小的文档.
最后,我希望生成API(rdoc)文档,并附带描述我的模型和体系结构的测试.能够以某种方式在rdoc和minitest之间建立联系会更好.