我是Ruby on Rails的新手,所以当我尝试按照官方的" 入门 "ruby on rails教程时,我有点失望,因为它很快就出错了.基本上它说:
...导航到http:// localhost:3000.您应该看到Rails的默认信息页面.
但是,当我按照说明操作时,我会得到
=> Rails 2.3.4 application starting on http://0.0.0.0:3000
在尝试了两个地址之后,我知道他们指向同一个东西,但有人可以向我解释为什么Ruby on Rails使用http://0.0.0.0:3000而不是http://localhost:3000?
有没有办法让WEBbrick服务器一直使用localhost?
我读过一本rails书,一旦发现我们可以在代码中添加#TODO:和一些#stuff,所以我们可以通过一些rake cmd来回顾一下.
我的问题是我无法找到那些"#stuff"和"rake cmd"我在哪里google并搜索,但找不到并且不知道要搜索哪些关键字.
谢谢,
我有一个Broken pipe (Errno::EPIPE)错误弹出,我不明白它是什么或如何解决它.完整的错误是:
example.rb:19:in `write': Broken pipe (Errno::EPIPE)
from example.rb:19:in `print'
from example.rb:19
Run Code Online (Sandbox Code Playgroud)
我的代码的第19行是:
vari.print("x=" + my_val + "&y=1&z=Add+Num\r\n")
Run Code Online (Sandbox Code Playgroud) 我正在使用Rails 2.2项目来更新它.我正在用工厂替换现有的灯具(使用factory_girl)并且遇到了一些问题.问题在于表示具有查找数据的表的模型.当我创建一个包含两个具有相同产品类型的产品的购物车时,每个创建的产品都会重新创建相同的产品类型.这是ProductType模型上唯一验证的错误.
这是一个单元测试,我创建一个Cart并将它们组合在一起.我不得不这样做以解决问题.但这仍然证明了这个问题.我会解释一下.
cart = Factory(:cart)
cart.cart_items = [Factory(:cart_item,
:cart => cart,
:product => Factory(:added_users_product)),
Factory(:cart_item,
:cart => cart,
:product => Factory(:added_profiles_product))]
Run Code Online (Sandbox Code Playgroud)
添加的两个产品属于同一类型,每个产品创建时都会重新创建产品类型并创建重复项.
生成的错误是:"ActiveRecord :: RecordInvalid:验证失败:名称已被占用,代码已被占用"
此示例的解决方法是覆盖正在使用的产品类型并传入特定实例,因此只使用一个实例."add_product_type"提前获取并传入每个购物车项目.
cart = Factory(:cart)
prod_type = Factory(:add_product_type) #New
cart.cart_items = [Factory(:cart_item,
:cart => cart,
:product => Factory(:added_users_product,
:product_type => prod_type)), #New
Factory(:cart_item,
:cart => cart,
:product => Factory(:added_profiles_product,
:product_type => prod_type))] #New
Run Code Online (Sandbox Code Playgroud)
使用factory_girl与"pick-list"类型的关联的最佳方法是什么?
我喜欢为厂家定义为包含,而不必进行组装测试的一切,虽然我可以住在一起.
工厂/ product.rb
# Declare ProductTypes
Factory.define :product_type do |t|
t.name "None"
t.code "none"
end …Run Code Online (Sandbox Code Playgroud) 如何从基于命令行的ruby程序颜色输出put命令?我很感激任何关于我如何称呼每种不同颜色的参考.
让我们说我们从这开始..
puts "The following word is blue.. Im Blue!"
puts "The following word is green.. Im Green!"
puts "The following word is red.. Im Red!"
Run Code Online (Sandbox Code Playgroud)
我得到了我想要的不同颜色的不同文字,你得到了这个想法.
我使用Ubuntu,我需要改变我的方法,以便程序在diff os中正确输出吗?
我有一个对象结果包含一个result对象数组以及一些有关数组中对象的缓存统计信息.我希望Results对象能够像数组一样运行.我的第一个切入是添加这样的方法
def <<(val)
@result_array << val
end
Run Code Online (Sandbox Code Playgroud)
这感觉非常像c,我知道Ruby有更好的方法.
我也希望能够做到这一点
Results.each do |result|
result.do_stuff
end
Run Code Online (Sandbox Code Playgroud)
但我不确定这种each方法在引擎盖下真正做了什么.
目前我只是通过一个方法返回底层数组并调用它们,这似乎不是最优雅的解决方案.
任何帮助,将不胜感激.
我正在与factory_girl合作,但看着机械师宝石.你能告诉我 - 迁移到机械师的利弊是什么?你比较过那些libs吗?
我得到undefined local variable or method 'address_geo' for main:Object了以下rake任务.有什么问题呢?
include Geokit::Geocoders
namespace :geocode do
desc "Geocode to get latitude, longitude and address"
task :all => :environment do
@spot = Spot.find(:first)
if @spot.latitude.blank? && !@spot.address.blank?
puts address_geo
end
def address_geo
arr = []
arr << address if @spot.address
arr << city if @spot.city
arr << country if @spot.country
arr.reject{|y|y==""}.join(", ")
end
end
end
Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个类,它有一个构造函数,只需要一个参数.当我创建对象的新实例时,它返回一个指针.
class Adder
def initialize(my_num)
@my_num = my_num
end
end
y = Adder.new(12)
puts y
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?谢谢
我正在使用带有ruby的datamapper将数据存储到某些表中.
有几个表有非常大量的信息,我想在用户"重建数据库"时清除它们(它基本上删除了所有内容并重新计算数据).
我最初尝试使用Forum.all.destroy并为所有不同的表做了它,但我注意到其中一些只是没有从phpmyadmin中删除.我只能想象它因为外键.虽然我真的不知道,因为我的其他表格已成功删除.更不用说,无论如何,它只是'零',所以键不会达到非常大的数字(如#500,000键).
然后我尝试使用下面的代码运行它,但由于"外键约束",它没有清除表格.我想强迫它工作,因为我知道一个事实我正在清理所有相互依赖的表(我只是没有清除2个表,一个设置表和一个随机存储表,两者都没有使用外键).
到目前为止我有......
adapter = DataMapper.repository(:default).adapter
adapter.execute('TRUNCATE TABLE `forums`, `dates`, `remarks`');
Run Code Online (Sandbox Code Playgroud)
这很好,除了mysql语法显然是错误的.所以这是第一件事
我在phpmyadmin中逐一做到这一点,当我这样做的时候,它说
Cannot truncate a table referenced in a foreign key constraint
Run Code Online (Sandbox Code Playgroud) ruby ×10
factory-bot ×2
class ×1
colors ×1
command-line ×1
constructor ×1
datamapper ×1
fixtures ×1
localhost ×1
machinist ×1
methods ×1
mysql ×1
rake ×1
testing ×1
unit-testing ×1
webrick ×1