如何在rails 3中获取当前会话ID?
我试过以下没有运气:
session[:session_id]
session['session_id']
session[:id]
session['id']
session.id
session.session_id
Run Code Online (Sandbox Code Playgroud) 有没有人知道或者知道包含所有元素的HTML页面(有嘴唇文本或其他什么)?我可以做一个,但我想有人必须已经这样做了.
在开始一个项目时,我喜欢为链接,列表,表格等设置一些基本样式.包含所有元素的HTML页面将帮助我加快这个过程.
除非已经完成,否则我很乐意创建并分享它.谢谢!
我正在使用spork运行rspec,我无法在lib中获取文件以在连续的rspec运行时重新加载.我试过在'Spork.each_run'中要求提供文件
我没有收到任何回复,所以我会尝试进一步解释.我的Rails应用程序中有以下文件:
要运行测试,首先我开始spork然后运行'rspec spec/lib/car_spec.rb'
RSpec没有看到我对我的Car类的更改,除非我重新启动spork.
有帮助吗?
我上线了:
我有一个叫做昂贵的方法calculate_total.我需要一个调用的方法total来返回结果calculate_total.后续调用total应该返回之前的结果calculate_total.
我想以测试驱动的方式做到这一点.这是我的测试(我正在使用RSpec):
describe Item do
describe "total" do
before do
@item = Item.new
@item.stub!(:calculate_total => 123)
end
it "returns the calculated total" do
@item.total.should == 123
end
it "subsequent calls return the original result" do
previous_total = @item.total
@item.total.should equal(previous_total)
end
end
end
Run Code Online (Sandbox Code Playgroud)
这不是一个好的测试,因为以下方法使测试通过,但我希望第二个测试失败:
def total
calculate_total
end
Run Code Online (Sandbox Code Playgroud)
原因是calculate_total返回一个Fixnum所以ruby没有看到结果为2个不同的对象.我期待第二次测试失败,所以我可以执行以下操作以使其通过:
def total
@total ||= calculate_total
end
Run Code Online (Sandbox Code Playgroud)
有人知道更好的测试方法吗?
我不认为这是测试它的最好/最正确的方法,但我已经确定了这个:https://gist.github.com/1207270
不久前,我遇到了一个红宝石宝石,给定正则表达式,会生成示例字符串.
例如,给出正则表达式:
/[a-z]{5}[0-9]{4}/
Run Code Online (Sandbox Code Playgroud)
它可以生成字符串:
"hkdbv4578"
Run Code Online (Sandbox Code Playgroud)
有谁记得这个宝石的名字?
我在rails 3.0.8上并尝试使用after_commit回调.
它的定义如下:https://github.com/rails/rails/blob/v3.0.8/activerecord/lib/active_record/transactions.rb#L210
它被称为回调之一:https://github.com/rails/rails/blob/v3.0.8/activerecord/lib/active_record/callbacks.rb#L22
考虑一下:
class Car < ActiveRecord::Base
after_commit do
# this doesn't execute
end
after_commit :please_run
def please_run
# nor does this
end
end
Run Code Online (Sandbox Code Playgroud)
任何想法为什么它不起作用?我假设我正确使用它.
我正在使用设计进行身份验证.如何设置登录范围?例如,假设我只想验证范围的用户:
User.where(:active => true)
Run Code Online (Sandbox Code Playgroud)
我清楚了吗?这很简单,但如果需要我可以详细说明.
(我意识到有一个可锁定的模块,但我的实际范围不适用于活跃用户,它更像是current_site.users,其中current_site基于域)
我正在尝试在redhat 5.5上安装rvm,我收到此错误:
[mc@owl-ci ~]$ bash < <( curl http://rvm.beginrescueend.com/releases/rvm-install-head )
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 979 100 979 0 0 8168 0 --:--:-- --:--:-- --:--:-- 318k
Cloning into rvm...
remote: Counting objects: 18463, done.
remote: Compressing objects: 100% (4985/4985), done.
remote: Total 18463 (delta 12517), reused 17903 (delta 12002)
Receiving objects: 100% (18463/18463), 3.19 MiB, done.
Resolving deltas: 100% (12517/12517), done.
mkdir: cannot create directory `/archives': …Run Code Online (Sandbox Code Playgroud)