我使用rspec,当我运行rake规范时,用户邮件程序通过smtp发送电子邮件,而不是将电子邮件存储在ActionMailer :: Base.deliveries-array中(由用户观察者调用)...
你能给我一个提示吗?
# Rails version
rails -v
=> Rails 3.0.1
# Ruby version with rvm (rvm version 1.0.16)
ruby -v
=> ruby 1.9.2p7 (2010-09-29 revision 29373) [x86_64-darwin10.4.0]
# Gemfile
gem "rspec-rails", ">= 2.0.1"
Run Code Online (Sandbox Code Playgroud)
配置-文件:
# config/environments/test.rb
MyApp::Application.configure do
config.action_mailer.delivery_method = :test
config.action_mailer.raise_delivery_errors = true
end
# spec/spec_helper.rb
...
ENV["RAILS_ENV"] ||= 'test'
...
# app/models/user_observer.rb
class UserObserver < ActiveRecord::Observer
observe User
def after_create(record)
puts Rails.env
# => "test"
UserMailer.new_user_notification(record).deliver
puts ActionMailer::Base.deliveries.inspect
# => []
# Sends it via smtp! …Run Code Online (Sandbox Code Playgroud) 我目前正在开发一种用于网络到印刷,海报印刷应用的解决方案.
我想要包括的功能之一是能够在继续订购所述图像的海报之前"编辑"(裁剪/缩放/旋转)给定图像.
为了避免用户在编辑之前将图像上传到远程服务器的要求,我想知道以下内容:
是否可以(使用JavaScript)将存储在客户端计算机上的图像加载到浏览器/浏览器内存中进行编辑,而无需将图像上载到远程服务器?如果是这样,这是怎么做到的?
谢谢,
BK
当我向上或向下移动光标并且它到达视图的第一行/最后一行(显示的文件部分)时,它"跳转",因此它显示视图的前/后半页而不是仅显示前/下一行(如在vi中).
那我怎么才能展示下一行呢?
问候
哈维
如何在初始化后定义Moose对象子程序?
我正在使用Moose编写一个对象模块,我计划序列化(nstore)创建的对象.
检查以下(简化!)示例:
package MyObj 0.001;
use Moose;
use namespace::autoclean;
has 'size' => (
is => 'ro',
isa => 'Int',
required => 1,
);
sub some_sub {
my ($self, @more) = @_;
if ($self->size() < 100) # do something;
elsif (($self->size() < 500)) # do something else;
elsif (($self->size() < 7500)) # do something else;
# ...
}
1;
Run Code Online (Sandbox Code Playgroud)
some_sub行为不同取决于size.由于它size是只读的,因此在初始化对象后它保持不变.
所以,假设我打了some_sub几十万次,很遗憾我if每次都必须经历所有的事情.
在对象初始化之后我最好这样做一次,然后设置some_sub为更简单的函数,根本没有ifs.
但是......我怎么能这样做?
UPDATE
也许我应该添加一个 …
我知道C字符串是char [],在最后一个元素中带有'\ 0'.但是这些字符是如何编码的?
更新:我发现这个很酷的链接谈论了许多其他编程语言及其编码约定:链接
错误:
Parse error: syntax error, unexpected T_STRING, expecting T_VARIABLE in
PSubscriptionFile.php on line 90;
Run Code Online (Sandbox Code Playgroud)
我认为public static _fromJSON应该是公开的
static function _fromJSON
Run Code Online (Sandbox Code Playgroud)
但这会给致命错误:
Declaration of PSubscriptionFile::__construct() must be compatible with that of
PuSHSubscriptionInterface::__construct() in PSubscriptionFile.php on line 9
Run Code Online (Sandbox Code Playgroud)
文件:http://github.com/bobdia/PuSHSubscriber
我不明白如何修复错误.谢谢!
我需要一种方法来允许管理员在Quartz.NET中删除作业.是否有JobDetail类的内置方法允许我删除作业和所有关联的触发器?
我有一个可排序的列表,connectWith用于确保它只能在自己的列表类型中排序.
现在,我正在尝试在对项目进行排序时,在视口底部显示可放置的垃圾桶元素.此元素位于列表的上下文之外,只删除放在其上的任何元素.如果您熟悉,则所需功能与从Android手机桌面删除快捷方式相同.
问题是,虽然我的垃圾桶是一个接受'*' connectWith的dropable ,但我的sortable仅被告知其他'.dropZone'项目,这意味着我无法获得任何可排序的元素来导致垃圾元素上的悬停状态.
我已经尝试将每个可排序的东西变成一个可拖动的start事件,但当然我并没有在正确的时刻拖动那个可拖动的,所以它没有被激活.是否有可能满足这两个要求,或者我是否必须检测垃圾桶是否可以手动悬停?
我已经看到3在几个重启进程的python脚本中使用退出状态.据我所知,在Unix/Linux上,约定只是0和"不0".
是否存在定义其他值的约定3.
我正在为驼鹿物体写一个模块.我想允许使用此对象的用户(或我自己......)根据需要随时添加一些字段.我无法先验地定义这些字段,因为我根本不知道它们会是什么.
我目前只是添加了一个名为extra的hashref类型的字段rw,因此用户可以简单地将东西放入该哈希:
# $obj is a ref to my Moose object
$obj->extra()->{new_thingie}="abc123"; # adds some arbitrary stuff to the object
say $obj->extra()->{new_thingie};
Run Code Online (Sandbox Code Playgroud)
这有效.但是......这是一种常见的做法吗?还有其他(可能更优雅)的想法吗?
注意我不想创建另一个扩展这个模块的模块,这实际上只是为了我想添加的即时内容.