下面是错误和测试的要点:
以下是要点内容:
require 'test_helper'
class Api::HotelsControllerTest < ActionController::TestCase
context "When not logged in" do
should "forbid access when creating a hotel" do
hotel = Factory.build(:hotel)
post :create, :hotel
在Rails测试规定一书(b10.0,第176页)中,有类似下面这样的单行断言的示例:
should "be successful" { assert_response :success }
对我来说,这似乎不是有效的ruby语法,ruby报告说左大括号是意外的。为了解析它,我必须将它更改为
should "be successful"; do assert_response :success end
第一个示例的语法有什么问题?
我正在Rails应用程序中测试以下代码:
a = Ex.all.pluck(:id)
b = Ex.where("name LIKE ?", "%asdf%").where("id IN ?", a).pluck(:id)
它正在生成以下PostgreSQL语句:
SELECT "exs"."id" FROM "exs" WHERE (name LIKE '%asdf%') AND (id IN 9,10,11,12,13,14,15)
但是给出了这个错误:
C:/Ruby22-x6
我有一张桌子
ID First Name Last Name
1 Ruby Rails
2 Loop Western
这些列中有一个空格,所以当我编写如下查询时
$sql = "SELECT * FROM Persons where [Last Name] = 'Western' ";
它抛出错误
Error, could not list tables MySQL Error: You have an error in your SQL syntax; check the manual that cor
我正在努力学习和练习学习python。在练习41中,我对代码的理解有些困难。
我在下面的代码中有一个问题:
for sentence in snippet, phrase:
result = sentence[:]
如何在两个对象内循环。我就是不能理解。snippet是其中的关键之一。词组dict中关键字的值。在我的选择中,循环必须在一个列表或元组中。但不能两个对象。
我的理解是错的吗?
完整的代码信息,如
import random
from urllib import urlopen
import sys
WORD_URL = "http://learnc
当尝试在我的application.yml文件上推送更改时,我总是通过命令使用figaro gem:
$ rake figaro:heroku
我很久没有这样做了,但今天我尝试了一下,我得到了这个错误:
mathieu@mathieu-To-be-filled-by-O-E-M:~/rails_projects/graalio_app$ rake figaro:heroku --trace
DEPRECATION WARNING: Support for Rails < 4.1.0 will be dropped. (called from require at /home/mathie
我正在阅读这本书,第184页上的及其控制流技术章节,其中有一个使用迭代器实现map的简单示例:
class Array
def my_map
c=0
acc = []
until c == size
acc << yield self[c]
c += 1 end
acc
end
end
运行此代码ruby MY_FILE.rb时出现以下错误
MY_FILE.rb:6: syntax error, unexpected `self', expecting `end'
acc <<
在集成后台b-Rails3时,我得到了以下错误,
~/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/psych.rb:148:in `parse': couldn't parse YAML at line 8 column 22 (Psych::SyntaxError)
from ~/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/psych.rb:148:in `parse_stream'
from ~/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/p
我希望在Sublime Text 2中用正则表达式代替搜索。是相当贫乏的。具体地说,我想在组上做一个替换,所以类似于转换这个文本:
Hello my name is bob
和这个搜索词:
查找内容:my name is (\w)+
替换为:my name used to be $(1)
搜索词工作得很好,但是我想不出使用regexp组进行实际替换的方法。
我使用ruby1.8.7、rails3.0.7和mysql2(0.2.11)。当我为新应用程序运行rake db:create时,我收到了以下消息。以前有没有人解决过这个问题?你能帮我一下吗?
rake db:create --trace
WARNING: 'require 'rake/rdoctask'' is deprecated. Please use 'require 'rdoc/task' (in RDoc 2.4.2+)' instead.
at /usr/lib/ruby/gems/1.8/gems/rak
由于某些原因,我的一些SQL查询似乎处理数字的方式很奇怪。例如,在我的mySQL数据库中,我有一个名为users的表,其中包含一个名为points的INT(11)字段。当我尝试检索这个字段时,有时返回正确,有时返回null。此查询每次都返回"User fMcBBx has points according to database":
$query = "SELECT points FROM users WHERE user_id = '$this->getID()'";
$result = DBCore::call()->fe
在ruby on rails中运行以下mysql查询时
cnt=Domainurl.find_by_sql["SELECT MAX(`count`) FROM domainurls WHERE `domaindetail_id` = ?", @domain.id]
puts cnt.count
我得到了下面的错误:
"error is: wrong number of arguments (0 for 1)"
有人能说出我到底错在哪里吗?
我有一个简单的CSV文件,它使用|(竖线)作为引号字符。在将我的rails应用程序从Ruby 1.9.2升级到1.9.3之后,我得到了一个"CSV::MalformedCSVError: Missing or my in line 1“错误。
如果我打开vim并将|替换为常规引号、单引号甚至"=",则文件工作正常,但|和*会导致错误。有谁知道这是什么原因造成的吗?下面是一个可以重现错误的简单一行代码:
@csv = CSV.read("public/sample_file.csv", {quote_char: '|', headers:
如何正确地用Ruby编写多行算法?以前,我尝试过类似y的东西,然后我意识到该代码有问题。我需要写多行算术,因为我的方程很长。
a = 5
b = 5
x = (a + b) / 2
puts x # 5, as expected
y = (
a
+ b
) /
2
puts y # 2, what happened?