你如何redirect_to :back在rspec中测试?
我明白了
ActionController::RedirectBackError:在此操作的请求中设置了
NoHTTP_REFERER,因此redirect_to :back无法成功调用.如果这是测试,请确保指定request.env["HTTP_REFERER"].
我如何设置HTTP_REFERER我的测试?
我正在使用工头来启动我的rails开发服务器.我可以将所有环境变量放在.env文件中,这很好.有没有办法为我的测试环境做类似的事情?
我想设置一个我将与vcrgem 一起使用的API密钥,但我不想将API添加到版本控制中.除了在启动测试脚本时手动设置环境变量之外的任何建议?
testing rspec ruby-on-rails environment-variables rspec-rails
我试图弄清楚如何在rails中混淆我的记录的ID.
例如:典型的路径可能看起来像http:// domain/records/1,因此人们很容易推断出网站在创建新记录时会获得多少流量.
我使用的一个解决方案是使用salt来散列id,但由于我不确定该函数是否是双射的,我最终将其存储在数据库的另一列中并仔细检查唯一性.
我想到的另一个选择是生成随机哈希并将其存储为另一列.如果它不是唯一的......只需生成另一个.
这样做的最佳方法是什么?
database data-binding obfuscation ruby-on-rails ruby-on-rails-3
在rails应用程序中添加检查以接受使用条款的最佳方法是什么?
我似乎无法validates_acceptance_of正常工作.我在我的用户模型中添加了一个bool(这是必要的吗?).然后有一个返回true/false的复选框.
我觉得我只是犯了一个愚蠢的小错误.有任何想法吗?
我想在我的routes.rb文件中的一些路由中添加HTTP基本身份验证.
我从http://asciicasts.com/episodes/271-resque那里得到了这个想法
routes.rb
Coderbits::Application.routes.draw do
resources :snippets
root :to => "snippets#new"
authenticate :admin do
mount Resque::Server, :at => "/resque"
end
end
Run Code Online (Sandbox Code Playgroud)
config/initializers/resque_auth.rb
Resque::Server.use(Rack::Auth::Basic) do |user, password|
password == "secret"
end
Run Code Online (Sandbox Code Playgroud)
如果我只是想保护我的rails应用程序中的路由,我应该在初始化程序文件中添加什么?
我现在的工作是在我的应用程序控制器中添加一个前置过滤器,如果请求不是我已列入白名单的控制器:
authenticate_or_request_with_http_basic do |user, password|
user == ENV["ADMIN_USER"] && password == ENV["ADMIN_PASS"]
end
Run Code Online (Sandbox Code Playgroud) 我想在我的一个开源rails应用程序上安装New Relic(v 3.2.12).我不想在回购中拥有许可证密钥.我想用ENV之类的东西加载它.
默认情况下,它已加载到newrelic.yml文件中.
YAML文件在哪里加载?我想我可以手动将它与从ENV哈希加载许可证的哈希合并.
有关如何做到这一点的任何提示?
我正在将rails 3应用程序升级到rails 4.0.1.
在我的rails 3应用程序中,我在my application.rb中使用以下代码来使用多个路由文件.
config.paths ["config/routes"] + = Dir [Rails.root.join('config','routes','*.rb').to_s]
但是当我尝试在rails 4中使用相同的东西时会引发异常.
有小费吗?
我正在尝试设置设计1.3.4,以便在开发模式下通过Gmail发送电子邮件.我应该提一下,我使用的是Rails 3.0.4和Ruby 1.9.2p136.
我在config/environments/development.rb中尝试了以下内容:
config.action_mailer.raise_delivery_errors = true
config.action_mailer.perform_deliveries = true
config.action_mailer.default_url_options = { :host => 'mydomain.com' }
ActionMailer::Base.smtp_settings = {
:address => "smtp.gmail.com",
:port => 587,
:domain => "mydomain.com",
:user_name => "info",
:password => "secret",
:authentication => "plain",
:enable_starttls_auto => true
}
Run Code Online (Sandbox Code Playgroud)
在config/initializers/devise.rb中我改变了
config.mailer_sender = "please-change-me-at-config-initializers-devise@example.com"
Run Code Online (Sandbox Code Playgroud)
至
config.mailer_sender = "info@mydomain.com"
Run Code Online (Sandbox Code Playgroud)
然后我试了一下
http://yekmer.posterous.com/devise-gmail-smtp-configuration
它仍然无法正常工作.
是否有关于如何让邮件工作的维基页面?我在日志中看到了电子邮件,看起来很棒!链接工作等...我只想在我的电子邮件帐户中看到它们.
编辑
我找到了答案 - 我使用了http://yekmer.posterous.com/devise-gmail-smtp-configuration - 当我把它放在配置/环境中时,我一直把这些代码放在config/intializers/devise.rb中/development.rb.
我正在尝试在我的新rails项目中使用https://github.com/blueimp/jQuery-File-Upload/wiki/Rails-setup-for-V5.我想让被调用的对象assignments附加多个文件.
如何为正在上载的文件具有嵌套表单的作业创建表单?
jquery file-upload jquery-plugins ruby-on-rails-3 ruby-on-rails-3.1
我正在使用 Postgres 和 ActiveRecord 开发一个 Rails 应用程序,它跟踪付款和交易费用(基于百分比)。
目前我正在使用 BigDecimal(和 ActiveRecord 中的小数列)来跟踪这些事务的值,但处理舍入令人沮丧。(例如如何8.05 - 1.0 ==> 7.050000000000001)
继续使用decimal美元金额列是否有意义?或者我应该改用integer价值美分存储所有内容,这样我就不需要处理舍入问题。
一个重要的注意事项是,我的交易(截至目前)都不值几美分。
每种方法的优缺点是什么?
accounting database-design currency ruby-on-rails ruby-on-rails-3
rspec ×2
ruby ×2
accounting ×1
actionmailer ×1
currency ×1
data-binding ×1
database ×1
devise ×1
file-upload ×1
jquery ×1
newrelic ×1
obfuscation ×1
redirect ×1
rspec-rails ×1
rspec2 ×1
testing ×1
validation ×1