我正在尝试为不同的环境初始化不同的宝石.我正在使用初始化程序配置文件(用于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)
谢谢!
我正在使用ActivityInstrumentationTestCase2类为应用程序编写一些验收测试.我想在测试中引起方向更改,以确保发生许多事情.其中包括确保保留Activity状态,同时我还要确保使用适当的方向布局.
我知道我可以简单地测试onSaveInstanceState/onRestoreInstanceState/onPause/onResume/etc. 确保保留实例状态的方法.但是,我想知道是否存在导致方向改变事件的机制?
这是否会涉及注入某种运动事件来诱骗设备/仿真器认为它已被旋转,或者是否存在由仪器提供的实际方法?
谢谢和干杯!
testing instrumentation android screen-orientation uiinterfaceorientation
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循环之前,它似乎每次进入第二个循环.正因为如此,我得到的答案是不正确的.
我正在使用一个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) 刚刚安装了Eclipse 3.5和Android平台(SDK和ADT).我已经在不同的机器上做了几次,所以我很确定我已经正确配置了所有内容.
尝试导入Android项目并在控制台窗口中收到以下错误:
"Android要求.class兼容性设置为5.0.请修复项目属性."
我以前从未见过这个错误.我唯一能想到的是它在讨论构建目标吗?我已将项目构建目标设置为1.6(API级别4),这是我想要的.看起来愚蠢他们会要求我改为更高的API级别......
其他人之前看到此错误?
我正在尝试为我的“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) 鉴于两个类,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
在我的Rails/Rspec测试中,我是CRUD的文件资源.我希望能够在我的测试完成之后撤消任何这些更改,就像使用事务撤消数据库更改一样.
RSpec中是否有一个功能,或者可能是一个监视文件系统更改并可以恢复到以前状态的不同Gem?或者我必须手动撤消这些更改吗?
我目前正在运行Rails3,RSpec2和Capybara.