小编pla*_*mbo的帖子

以什么顺序为Rails加载配置文件?

我正在尝试为不同的环境初始化不同的宝石.我正在使用初始化程序配置文件(用于Paperclip之类的东西)和环境配置文件(用于我的dev,test,qa,prod环境).

对于某些上下文,我试图让我的prod和qa服务器使用S3存储用于Paperclip,但是使用具有不同目录的本地存储用于开发和测试.我不知道这些配置文件的加载顺序.

我想知道是否有人可以阐明加载顺序,以便我可以确保我有任何依赖或覆盖正确.另外,我只想知道这些东西是如何工作的.

我对下面列出的目录/文件特别感兴趣

config/
    environments/
        develop.rb
        test.rb
        ...env-specific config files


    initializers/
        paperclip.rb
        ...gem-specific config files

    application.rb
    boot.rb
    deploy.rb
    environment.rb
    routes.rb
Run Code Online (Sandbox Code Playgroud)

谢谢!

configuration ruby-on-rails-3

28
推荐指数
2
解决办法
9234
查看次数

如何在Android Instrumentation测试中强制更改方向?

我正在使用ActivityInstrumentationTestCase2类为应用程序编写一些验收测试.我想在测试中引起方向更改,以确保发生许多事情.其中包括确保保留Activity状态,同时我还要确保使用适当的方向布局.

我知道我可以简单地测试onSaveInstanceState/onRestoreInstanceState/onPause/onResume/etc. 确保保留实例状态的方法.但是,我想知道是否存在导致方向改变事件的机制?

这是否会涉及注入某种运动事件来诱骗设备/仿真器认为它已被旋转,或者是否存在由仪器提供的实际方法?

谢谢和干杯!

testing instrumentation android screen-orientation uiinterfaceorientation

24
推荐指数
2
解决办法
2万
查看次数

如何一次迭代两个字典并使用两者中的值和键获得结果

def GetSale():#calculates expected sale value and returns info on the stock with              highest expected sale value
      global Prices
      global Exposure
      global cprice
      global bprice
      global risk
      global shares
      global current_highest_sale
      best_stock=' '
      for value in Prices.values():
          cprice=value[1]
          bprice=value[0]
          for keys, values in Exposure.items():
             risk=values[0]
             shares=values[1]
             Expected_sale_value=( (cprice - bprice ) - risk * cprice) * shares
             print (Expected_sale_value)
             if current_highest_sale < Expected_sale_value:
                current_highest_sale=Expected_sale_value
                best_stock=Exposure[keys]
     return best_stock +" has the highest expected sale value"
Run Code Online (Sandbox Code Playgroud)

以上是我目前的代码.但由于某种原因,它似乎是在做第一个循环,然后是第二个循环,然后是第二个循环,然后是第一个循环,然后是第二个循环.在返回第一个for循环之前,它似乎每次进入第二个循环.正因为如此,我得到的答案是不正确的.

python loops

14
推荐指数
2
解决办法
3万
查看次数

如何使Struts无线电标签创建一个垂直的单选按钮列表

我正在使用一个struts无线电标签,其中填充了一个包含两个字段的对象列表:

class MyAction {
     List<MyObject> myList;
     String selectedId
     public String execute() {
         ...
         myList = new ArrayList<MyObject>();
         myList.add(new MyObject("1","first object");
         myList.add(new MyObject("2","second object");
         myList.add(new MyObject("3","second object");
         ...
     }

     // Getters and Setters for myList & selectedId
     ...
}

class MyObject {
    String id;
    String name;

    MyObject(String id, String name) {
         this.id = id;
         this.name = name;
    }
    // Getters and Setters for id & name
    ...
}
Run Code Online (Sandbox Code Playgroud)

这是我在页面上用来显示单选按钮列表的内容

<s:radio key="selectedId" list="myList" listKey="id" listValue="name"/>
Run Code Online (Sandbox Code Playgroud)

但是,这会生成单选按钮的水平列表.我尝试为他们添加一个CSS样式:

<style>
    .vertical input { display: block; …
Run Code Online (Sandbox Code Playgroud)

html css java jsp struts2

6
推荐指数
2
解决办法
2万
查看次数

Android控制台错误:"要求.class兼容性设置为5.0.请修复项目属性"

刚刚安装了Eclipse 3.5和Android平台(SDK和ADT).我已经在不同的机器上做了几次,所以我很确定我已经正确配置了所有内容.

尝试导入Android项目并在控制台窗口中收到以下错误:

"Android要求.class兼容性设置为5.0.请修复项目属性."

我以前从未见过这个错误.我唯一能想到的是它在讨论构建目标吗?我已将项目构建目标设置为1.6(API级别4),这是我想要的.看起来愚蠢他们会要求我改为更高的API级别......

其他人之前看到此错误?

android adt android-manifest android-build

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

Rails“POST”成员路由响应所有请求类型

我正在尝试为我的“foo”控制器设置一个成员路由,该控制器名为“bar”,这样它应该只响应发布请求。但是,我注意到在我的 RSpec 测试中它响应所有请求类型(GET、POST、PUT、DELETE)。

我的印象是,这样定义路由会限制它,使其仅响应 POST 请求:

resources :foo do
  member do
    post 'bar'
  do
end
Run Code Online (Sandbox Code Playgroud)

rake routes当我运行它时,它仅显示“bar”路线,如下所示,这一事实似乎进一步证实了这一点:

bar_foo    POST    /foo/:id/bar(.:format)    {:action=>"bar", :controller=>"foo"}
Run Code Online (Sandbox Code Playgroud)

然而,根据 RSPEC,以下 GET、PUT 和 DELETE 测试失败(意味着控制器成功处理请求):

describe FooController do
    describe "GET bar" do
        it "should not be successful" do
            foo = FactoryGirl.create(:foo)
            get :bar, :id => foo.id
            response.should_not be_ok
        end
    end 
end
Run Code Online (Sandbox Code Playgroud)

我在这里遗漏了一些小东西吗?如何限制我的“酒吧”会员路线仅响应“发布”请求。

编辑:

这似乎是 RSpec 2.0 或ActionController::TestCase的问题,因为当我尝试使用除POST 之外的任何内容在服务器上点击/foo/:id/bar时,出现以下错误:

Routing Error

No route matches [GET] "/foo/1/bar"
Run Code Online (Sandbox Code Playgroud)

rspec routes ruby-on-rails ruby-on-rails-3

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

使用t.integer和t.reference在rails迁移中定义外键有什么区别

鉴于两个类,Apple和Orange:

def class Apple < ActiveRecord::Base
  has_and_belongs_to_many :oranges
end

def class Orange < ActiveRecord::Base
  has_and_belongs_to_many :apples
end
Run Code Online (Sandbox Code Playgroud)

使用t.integer在连接表中定义外键有什么区别:

create_table :apples_oranges, :id => false do |t|
  t.integer :apple_id
  t.integer :orange_id
end
Run Code Online (Sandbox Code Playgroud)

并使用t.references在连接表中定义外键:

create_table :apples_oranges, :id => false do |t|
  t.references :apple
  t.references :orange
end
Run Code Online (Sandbox Code Playgroud)

我看过两者,它们似乎是可以互换的.只是想确保没有一些我遗漏的微妙/魔法.

哦,我在Rails 3.2上使用MySQL

ruby-on-rails-3

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

如何撤消在Rails/RSpec测试中进行的文件系统更改?

在我的Rails/Rspec测试中,我是CRUD的文件资源.我希望能够在我的测试完成之后撤消任何这些更改,就像使用事务撤消数据库更改一样.

  1. 如果我为测试添加一个文件,我想在测试后删除该文件.
  2. 如果我为测试修改文件,我希望在测试后将文件恢复到先前的状态.
  3. 如果我删除了一个测试文件,我想恢复该文件

RSpec中是否有一个功能,或者可能是一个监视文件系统更改并可以恢复到以前状态的不同Gem?或者我必须手动撤消这些更改吗?

我目前正在运行Rails3,RSpec2和Capybara.

testing ruby-on-rails rspec2

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