在rspec中创建ActiveRecord时,我使用fixture来获取有效记录.但是在测试中使用fxitures时,它们似乎无法通过验证.在以下示例中,员工似乎完全有效,但规范中的关联验证表明它们无效.
class Employee < ActiveRecord::Base
validates_presence_of :email
end
class User < ActiveRecord::Base
validates_associated :employee
end
#Command line debugger in 'debugger' (below) returns:
Employee.find(745185059).errors.count # => 0
Employee.find(745185059).errors.full_messages # => []
Employee.find(745185059).valid? # => true
Run Code Online (Sandbox Code Playgroud)
例如:
describe SessionsController do
fixtures :users, :employees
describe "Logging in by cookie" do
def set_remember_token token, time
@user[:remember_token] = token;
@user[:remember_token_expires_at] = time
debugger
@user.save! # THIS SAYS THE EMPLOYEE IS INVALID, but why, if the fixtures are good?
end
it 'logs in with cookie' do …Run Code Online (Sandbox Code Playgroud) 我有一张大桌子(~10,000),我需要一列才能占用三个空格.它几乎总是只占用一个空间,但我需要用零填充其他两个空格(它是一个整数列).那有什么功能吗?
我有一个扫地机应该到期一些动作缓存.即使调试器在调用expire_action之前立即停止,它实际上并没有使操作到期.知道会发生什么吗?
这是相关的清扫车和控制器.
#company_sweeper.rb(在'models'目录中)
class CompanySweeper < ActionController::Caching::Sweeper
observe Company
def after_save(company)
expire_cache(company) if company.final_save && company.valid?
end
def expire_cache(company)
debugger <= #debugger stops here!
right before the call
I'm trying to make.
expire_action :controller => 'reports',
:action => 'full_report'
end
end
Run Code Online (Sandbox Code Playgroud)
#reports_controller.rb
class ReportsController < ApplicationController
layout false
caches_action :full_report, :supplier_list, :service_categories
cache_sweeper :company_sweeper
def full_report
#do stuff...
end
end
Run Code Online (Sandbox Code Playgroud)
我知道它没有到期的方式是完整的报告返回旧数据,并几乎立即响应.很奇怪,对吗?
我无法理解FasterCSV中的:header_converters和:转换器.基本上,我想要做的就是将列标题更改为适当的列名.
就像是:
FasterCSV.foreach(csv_file, {:headers => true, :return_headers => false, :header_converters => :symbol, :converters => :all} ) do |row|
puts row[:some_column_header] # Would be "Some Column Header" in the csv file.
Run Code Online (Sandbox Code Playgroud)
execpt我不理解:符号和:全部在转换器参数中.
我有一个关于一个简单的简单应用程序的想法,通过观察目录更改(如指南针)将HAML和SASS转换为用户的HTML和CSS文件.几乎所有组件都已在社区中提供,我只需要弄清楚前端使用的内容.
捕获:
肯定是:
到目前为止,我对此知之甚少:
RubyScript2Exe:为您打包ruby应用程序
Adobe AIR:桌面式Web开发......但是与Ruby集成是否容易?
Adobe Flex:这仅适用于基于Web的开发吗?
Java/jRudy :(我害怕只是想着它)
FXRuby:一个ruby GUI工具包,遗憾的是过于老式(读作"丑陋")以吸引我想要定位的观众(设计师和HTML开发人员......不,我不打算收费,只是想做一个有吸引力的应用程序)
鞋子:另一个基于ruby的GUI工具包可能或不足......是否有GUI构建器?
当然,其他选择非常受欢迎.
如果您提供答案,请保持友好,并留下一个链接到一个良好的入门教程,该教程集成了Ruby和您选择的技术?
我有一个带有 67 个单独路径的 SVG 图像。
是否有任何库/教程可以为每个路径创建单独的光栅图像,例如 PNG,并且可能根据路径 ID 命名它们?
在Ruby和RoR中,我发现自己正在测试对象是否存在,然后是对象的属性是否与某些条件匹配.像这样:
if params[:id] && params[:id].size == 40
...do stuff
end
Run Code Online (Sandbox Code Playgroud)
有没有更有效的方法来做到这一点?就像是:
if params[:id].size == 40 rescue false
Run Code Online (Sandbox Code Playgroud)
但没有使用救援?
我一生中从未读过COBOL,并且负责用新语言重写旧的COBOL代码.是否有任何免费或免费试用的软件包可以生成COBOL程序的流程图?
我看过"Visustin"和"Code Visual to Flowchart"
Visustin删除了部分代码并在演示版本中进行随机旋转,这导致演示不太准确.
我无法让Code Visual Flow Chart与我们的代码一起正常工作.
知道我可能会尝试的其他任何套餐吗?
有没有一种简单的方法来使用Net :: SFTP来修改文件的日期?
能够做到这一点真是太好了:
Net::SFTP.start('some_server') do |sftp|
sftp.dir.glob('*').each do |file|
puts file.mtime
end
end
Run Code Online (Sandbox Code Playgroud)
但那是不可能的(据我所知).
伯恩斯.
我知道如果链接具有以下格式,可以在html页面中打开链接(假设你使用的是Firefox)和TextMate:
<a href="txmt://open?url=file:///home/.../index.html.haml">View</a>
Run Code Online (Sandbox Code Playgroud)
但是有可能与VIM做类似的事情吗?也许是这样的:
<a href="vim://open?url=file:///home/.../index.html.haml">View</a>
Run Code Online (Sandbox Code Playgroud)
理想情况下,这将使用现有的VIM会话.
干杯,
伯尼
即使我在模型中添加了"acts_as_authentic",我也无法在Authlogic中获取用户模型来理解"密码"方法.在Authlogic灯塔上也报道了这个问题,但没有人描述他们如何修复它:
用户表存在所有必需的字段,控制器和其他所有内容肯定遵循教程中的字母.
谁知道什么可能是错的?
(哦,我正在运行Rails 2.3.3,Authlogic 2.1.1)
authentication passwords authorization ruby-on-rails authlogic
我有一个大型脚本,有大约20个嵌入式if语句(Yay!),用于解析数据文件.从某种意义上说,这是正确的,因为如果任何这些评估失败,脚本就不应该继续运行.
但我的直觉说,有一种更优雅的方式来完成同样的事情.我熟悉rails的statemachine插件,但这似乎有点矫枉过正(似乎有点矫枉过正).
有没有机会通过工作流程或其他方式减少嵌入式"ifs"的数量?
提供比较Ruby,Python,Perl,Smalltalk等的指标的各种网站是什么?它们各自的指标是什么?
他们中的任何一个是否控制或说明引入Rails的时间和/或各种语言的采用率?
有人请帮我解决这个问题吗?显然这不是一次成功的冒险:-)
ruby ×8
activerecord ×1
air ×1
apache-flex ×1
asp.net ×1
authlogic ×1
c# ×1
caching ×1
cobol ×1
diagram ×1
diagramming ×1
fastercsv ×1
firefox ×1
flowchart ×1
fxruby ×1
imagemagick ×1
librsvg ×1
mysql ×1
net-sftp ×1
passwords ×1
python ×1
rspec ×1
rsvg ×1
sftp ×1
shoes ×1
smalltalk ×1
sql ×1
ssh ×1
svg ×1
sweeper ×1
vim ×1