我需要current_user在Rspec/capybara请求规范中存根方法的响应.该方法在ApplicationControllerhelper_method中定义并使用helper_method.该方法应该只返回一个用户ID.在测试中,我希望这种方法每次都返回相同的用户ID.
或者,我可以通过设置session[:user_id]规范(这是什么current_user返回)来解决我的问题...但这似乎也不起作用.
这些都可能吗?
编辑:
这是我得到的(它不工作.它只运行正常的current_user方法).
require 'spec_helper'
describe "Login" do
before(:each) do
ApplicationController.stub(:current_user).and_return(User.first)
end
it "logs in" do
visit '/'
page.should have_content("Hey there user!")
end
end
Run Code Online (Sandbox Code Playgroud)
也不工作:
require 'spec_helper'
describe "Login" do
before(:each) do
@mock_controller = mock("ApplicationController")
@mock_controller.stub(:current_user).and_return(User.first)
end
it "logs in" do
visit '/'
page.should have_content("Hey there user!")
end
end
Run Code Online (Sandbox Code Playgroud) 一段时间后,我将如何使片段缓存过期.我偶然发现了timed_fragment_cache宝石的参考,但似乎过时了.
我很想知道我可以依靠Siege和AB的负载测试结果.我意识到他们不会考虑静态资产(图像,JS,CSS),但假设所有这些东西都是从CDN提供的,如果Siege/AB告诉我我可以满足200个并发用户,那么我有什么理由不应该这样做不相信吗?我没有考虑任何其他因素,例如运行测试的机器可能有任何限制吗?
我将从Rails应用程序发送批量电子邮件,并计划使用SendGrid.我假设最好向每个收件人发送一封单独的电子邮件(而不是为所有收件人使用BCC).如果这是真的,我应该使用像DelayedJob这样的东西来排队转发到SendGrid的消息,还是可以安全地一次抛出500条消息?谢谢!
我对Django一无所知,但我需要在OSX中运行现有的项目.
从我运行的项目目录中python manage.py runserver获取错误:Error: No module named cms.
好像INSTALLED_APPS常量(在settings.py中)定义了所需的模块......但是如何安装dang东西呢?
是否有批量安装依赖项的标准方法(如Ruby的Bundler)?
在尝试使用Heroku上的应用程序解决bug时,我通常最终得到一些与bug修复过程相关的Git提交,因为我需要提交更新才能推送到Heroku.在推送到项目的主要共享仓库之前,有没有聪明的方法来清理这些提交?
我正在从Rails 3.2开始进行流式下载(CSV),并且遇到了初始页面请求需要很长时间的问题.以下控制器代码说明了我的问题:
self.response_body = Enumerator.new do |y|
10_000_000.times do
y << "Hello World"
end
end
Run Code Online (Sandbox Code Playgroud)
有了上面的内容,响应看起来就像它的流式传输(来自服务器而不是支持它......在我的情况下,Unicorn).也就是说,在它开始流式传输之前,它会比我想要的时间长得多.如果我将其更改为以下内容,则启动速度会更快:
self.response_body = Enumerator.new do |y|
1000.times do
y << "Hello World"
end
end
Run Code Online (Sandbox Code Playgroud)
我的理解是响应应该从循环的第一次迭代开始,但似乎较大的循环导致初始加载时间延长.如果每次迭代都按原样输出,那么不管它有多少总迭代次数,都不应该花费相同的时间来启动流式处理过程.
感谢您的任何见解!
编辑:
这是我正在尝试的技术的解释.也许我误解或错过了一步?:http: //facebook.stackoverflow.com/questions/3507594/ruby-on-rails-3-streaming-data-through-rails-to-client/4320399#4320399
编辑:
我认为 Rack-Cache可能会导致我的问题......我可以针对个别请求将其关闭吗?
编辑和解决:
我对Rack-Cache错了.我只需要添加self.response.headers['Last-Modified'] = Time.now.ctime.to_s我的回复.
statuses/user_timelineTwitter API 的一部分将地理位置数据与每个推文一起作为"地点"返回.另一方面,搜索API不会返回此位置数据(据我所知).有没有办法通过搜索API获取位置数据?
我正在努力发布我的第一个Gem for Rails.这很简单,但我需要提供一些设置配置选项的权限.我想让用户在'config/initializers'中添加一些内容并与我的gem绑定.
所以,问题是:在Rails gem中提供配置选项是否有最佳实践?
我经常需要在Heroku上运行命令"Rails.cache.clear",我发现这样做的唯一方法是首先运行"heroku run console",然后运行命令.有没有办法一步到位?