小编Eri*_*ang的帖子

Rails重定向到https,同时保留所有参数

我正在重定向到https,如下所示:

redirect_to :protocol => 'https://', :status => :moved_permanently
Run Code Online (Sandbox Code Playgroud)

但是,参数不会像这样经过.我可以像这样传递特定的参数:

redirect_to :protocol => 'https://', :status => :moved_permanently, :param1 => params[:param1], :param2 => params[:param2]
Run Code Online (Sandbox Code Playgroud)

我如何才能使它只是通过url上的每个参数而不必显式声明每个参数?

parameters ruby-on-rails

11
推荐指数
2
解决办法
8326
查看次数

Heroku中使用Rails 3.1的特定于SSL的主机名

我目前有一个设置,在我的应用程序控制器中使用此before_filter强制SSL或http我需要它:

def force_ssl
  if params[:controller] == "sessions"
    if !request.ssl? && Rails.env.production?
      redirect_to :protocol => 'https://', :status => :moved_permanently
    end
  else
    if request.ssl? && Rails.env.production?
      redirect_to :protocol => 'http://', :status => :moved_permanently
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

我想做的是https://secure.example.com在使用SSL时使用,但http://example.com在不使用SSL时继续使用.有没有办法可以在主机名之间切换,具体取决于我是否使用SSL?

ruby ssl https ruby-on-rails hostname

5
推荐指数
1
解决办法
1034
查看次数

RSpec请求对象为零

我正在尝试在我的请求规范中测试cookie:

require 'spec_helper'

describe "Cookies"
  it "should set correctly" do
    request.cookies['foo'] = 'bar'
  end
end
Run Code Online (Sandbox Code Playgroud)

但这给了我undefined method 'cookies' for nil:NilClass.我该如何解决?

cookies rspec ruby-on-rails capybara

4
推荐指数
1
解决办法
2256
查看次数

Rails 3.1在测试环境中设置主机

http://www.example.com每当我root_url在测试中使用时,我都会得到它.

它在开发中工作正常,我在config/environments/development.rb中有这个:

Rails.application.routes.default_url_options[:host]= 'localhost:3000'
Run Code Online (Sandbox Code Playgroud)

但是,添加它在config/environments/test.rb中不起作用.我应该添加什么才能localhost:3000在测试环境中用作主机?

rspec config ruby-on-rails

4
推荐指数
1
解决办法
2304
查看次数

:按平均评级排序的最高评分范围

我有一个Product和每个产品has_many ratings.我正在尝试创建一个:highest_rated产品范围,按照最高平均评级对产品进行订购(每个评级都在ratings表中).我试过这个:

scope :highest_rated, includes(:ratings).order('avg(ratings.rating) DESC')
Run Code Online (Sandbox Code Playgroud)

但这给了我一个misuse of aggregate: avg()错误.

有关如何以最高平均评级订购我的产品的任何提示?

scope ruby-on-rails

3
推荐指数
1
解决办法
2112
查看次数

RSpec中出现意外的nil变量

我有一个非常基本的RSpec示例不起作用.这是代码:

require 'spec_helper'

describe "Referral-type functionality" do
  describe "Affiliate system" do
    before { @affiliate = Affiliate.create(account_id: 1) }
    subject { @affiliate }

    describe "URL should work" do
      visit @affiliate.aff_url
    end

  end
end
Run Code Online (Sandbox Code Playgroud)

但是当我运行它时,rspec会给出NoMethodError,因为@affiliate是nil.我错过了什么?

rspec ruby-on-rails capybara

2
推荐指数
1
解决办法
175
查看次数

标签 统计

ruby-on-rails ×6

rspec ×3

capybara ×2

config ×1

cookies ×1

hostname ×1

https ×1

parameters ×1

ruby ×1

scope ×1

ssl ×1