在我的应用程序里,我有台词
Feature.all(:select=>"name", :conditions=> ['id IN (?)', feature_id_array]).map(&:name)
而且效果很好。
当我把它重写到Rails3语法时,
Feature.find(feature_id_array).select('name').map(&:name)
这让我犯了个错误,说
ArgumentError in AuthoringController#edit
wrong number of arg
我正在执行不同的查询,如下所示:
Offer.where("id IN (?) AND foo = ?", offer_ids, 'bar')
其中offer_ids被计算并且具有大约1.000个ids的长度。
这会导致development.log中的条目非常长,如下所示:
Offer Load (12.9ms) SELECT `offers`.* FROM `offers` WHERE (id IN (156439476,162525730,169378363,197193532,209583012,212783238,236381946,26058400
我正在制作我的第一个Rails应用程序,所以这可能是基本的。
在我的用户配置文件中,我想让用户添加一个标题和描述。我创建了User模型的属性,并将其添加到routes.rb中
resources :users do
member do
post 'update_description'
end
end
相同的方法(尚未编写)将处理这两个属性。为了实践TDD,我想编写一个测试,它将简单地显示,如果用户提交了一个标题,那么控制器将它保存到数据库中。我原以为这将是一个集成测试,但我无法正确地找到正确的路径。(这应该是一个集成测试吗?)但是,通过研究
我目前正在学习单元测试和集成测试,据我所知,单元测试用于测试特定类的逻辑,而集成测试用于检查多个类和库之间的协作。
但是,它只是用于测试多个类,如果它们按照预期一起工作,还是在集成测试中访问数据库也是有效的?如果是这样的话,如果由于服务器端错误而无法建立连接,那么测试就不会失败,尽管代码本身会像预期的那样工作?我如何知道在这种测试中什么是有效的?
我不明白的第二件事是他们是如何建立起来的。在我看来,单元测试有一种非常常见的形式,比如:
public class classTest {
@BeforeEach
public void setUp(){
}
@
我的视图中有一个基于应用程序控制器中定义的帮助器方法的条件,我将其定义为帮助器方法。
<% if logged_in? %>
当我的规范达到这个的时候,它会说:
ActionView::Template::Error:
undefined method `logged_in?' for #<#<Class:0x007fdc06b71aa8>:0x007fdc0b9b0930>
当我使用我的浏览器时,它工作得很好。我尝试了存根,但当我试图在视图或控制器上存根时,我得到了另一个错误。我的测试是这样的:
it "has a logout li
我正在开发一个Rails 4应用程序,我想为BrainTree编写一些测试:
在Rails 4.0.0中使用rspec-rails (2.14.0)和capybara (2.1.0)
问题是在路线上,以Braintree的形式,我传递了一个:url
<%= form_for :customer, :url => Braintree::TransparentRedirect.url do |f| %>
现在,当我运行像这样的特性测试时:
it 'should make new payment info' do
login
visit ne