我正在玩控制台,我改变了一些模型代码,现在我想测试它.我通常会重新启动控制台.有更快的方法吗?也许是一个控制台命令来重新加载模型代码?
我有一个如此定义的Family类:
class Family < ActiveRecord::Base
after_initialize :initialize_family
belongs_to :user
validates :user,
:presence => true
validates :name,
:presence => true,
:length => { :maximum => 30 },
:format => { :with => /\A[a-zA-Z0-9\-_\s\']+\z/i}
def initialize_family
if self.name.blank? && self.user
self.name = "#{self.user.profile_full_name}'s Family"
end
end
end
Run Code Online (Sandbox Code Playgroud)
在我的工厂里.我有:
Factory.define :family do |f|
f.association :user, :factory => :user
end
Run Code Online (Sandbox Code Playgroud)
在我的family_spec.rb中,我有
let(:family) { Factory(:family) }
Run Code Online (Sandbox Code Playgroud)
但这失败了:
1) Family is valid with valid attributes
Failure/Error: let(:family) { Factory(:family) }
ActiveRecord::RecordInvalid:
Validation failed: Name can't be …Run Code Online (Sandbox Code Playgroud) 这是我的解决方案。有没有更紧凑的?
> time_from_client = "2001-03-30T19:00:00-05:00"
=> "2001-03-30T19:00:00-05:00"
> time_from_client.to_datetime
=> Fri, 30 Mar 2001 19:00:00 -0500
> timezone_offset = time_from_client.to_datetime.offset.numerator
=> -5
> tz = ActiveSupport::TimeZone[timezone_offset]
=> (GMT-05:00) America/New_York
> tz.class
=> ActiveSupport::TimeZone
Run Code Online (Sandbox Code Playgroud) 我的rails 3应用程序接收电子邮件.其中一些是纯文本.当应用程序将它们显示给用户时,我希望它们被正确格式化.换句话说,我想将纯文本编码为html.例如:"Hello \n \nHello"=>
你好
你好
(或类似的东西).当然我可以编写自己的4行代码,但我确信这4行已经编写,测试并包装在一些不错的方法调用中.
我正在提交一个简单的ajax删除请求,如下所示:
#invitation_actions
=link_to "delete", invitation_path(invitation), :method=>:delete, :remote=>true, :class=>"remove", :confirm=>'Are you sure you?'
Run Code Online (Sandbox Code Playgroud)
请注意,由于所有页面中都包含csrf_meta_tag标记,包含请求的页面包含authenticity_token.
当我查看日志时,我看到删除请求缺少authenticity_token:
在2011-04-22 11:21:21 -0700开始DELETE"/ invitations/5"for 127.0.0.1在InvitationsController处理#dump as参数:{"id"=>"5"}
现在,如果我从代码中删除":remote =>:true",即我执行常规页面加载删除工作,我在日志文件中看到以下内容:
在2011-04-22 12:52:19 -0700开始POST"/ invitations/10"for 127.0.0.1在InvitationsController处理#Drown as HTML参数:{"authenticity_token"=>"qlT8uX/WGQeOQSmVZzw1v8rFdSTHDRbzNY0zpSc9mV0 =","id" => "5"}
为什么它是AJAX案例中的DELETE和非AJAX案例中的POST?为什么DELETE不包含authenticity_token?
谢谢你的帮助.