关于我自己.我今年24岁,去年毕业于北卡罗来纳州立大学,获得硕士学位.统计,数学,那种事.我没有强大的编程背景,这对我的问题非常重要.如果我说任何没有任何意义的话,那就是原因.从毕业以来,我一直在与其他几个人一起在Rails应用程序上工作.我的编程经验主要是Ruby on Rails(1.2年.)我知道R,SAS(统计语言,对这个问题没什么帮助.)
显然,这意味着它已经开发了一年多,我们还没有完成.主要的开发人员是一个优秀的程序员,只是他已经有一份全职工作,并在业余时间做这个应用程序.由于他最近没有足够的时间,我已经完全负责该应用程序.
我们现在部署在Slicehost上.该应用程序是我们不需要编程任何其他东西(除非我们想到更多的功能.)我问我们是否应该迁移到Heroku的原因是,在我看来,Heroku是一个简单的平台,部署.Slicehost对我来说似乎太复杂了.另一个开发人员处理它,而不是我.我看了如何在Heroku上部署应用程序,看起来我能够做到.如果需要,我们需要我们的应用程序扩展,Heroku提供.至于钱,我会在最低限度(免费)开始,看看它是怎么回事.如果需要,我可以支付额外的功能.
我们正在使用Redmine进行项目管理和存储库(不是git,我认为我们需要在Heroku上使用它.)git是否类似于Redmine?这个容易用吗?
现在,在Slicehost上,我们有4个守护进程(不断运行的进程.)我们有8个delayed_job工作者.我知道启动守护进程和delayed_job工作程序的命令行.这些可以在Heroku上运行吗?
我想知道我是否仍然可以使用Heroku的RAILS_ENV =生产脚本/控制台.
用户界面是一个javascript文件.在开发模式下,如果我在终端中执行脚本/服务器,并在浏览器中转到http:// localhost:3000,我就能看到它.Heroku会按照我想要的方式加载这个页面吗?
我们有一个工作网站的应用程序,我们自己的域名.我真的不知道DNS是什么,所以我可能无法将Heroku应用程序链接到它,除非有一个简单的方法.我认为Heroku将其链接到appname.heroku.com作为默认值.
根据我的编程经验,Heroku是否足够容易让我使用,我应该找到另一份工作,还是应该让seppuku工作?
我正在尝试使用ruby(1.8.6)中的"open-uri"处理链接列表中的内容,但是当一个链接断开或需要身份验证时我收到错误时会发生错误:
open-uri.rb:277:in `open_http': 404 Not Found (OpenURI::HTTPError)
from C:/tools/Ruby/lib/ruby/1.8/open-uri.rb:616:in `buffer_open'
from C:/tools/Ruby/lib/ruby/1.8/open-uri.rb:164:in `open_loop'
from C:/tools/Ruby/lib/ruby/1.8/open-uri.rb:162:in `catch'
Run Code Online (Sandbox Code Playgroud)
要么
C:/tools/Ruby/lib/ruby/1.8/net/http.rb:560:in `initialize': getaddrinfo: no address associated with hostname. (SocketError)
from C:/tools/Ruby/lib/ruby/1.8/net/http.rb:560:in `open'
from C:/tools/Ruby/lib/ruby/1.8/net/http.rb:560:in `connect'
from C:/tools/Ruby/lib/ruby/1.8/timeout.rb:53:in `timeout'
Run Code Online (Sandbox Code Playgroud)
要么
C:/tools/Ruby/lib/ruby/1.8/net/protocol.rb:133:in `sysread': An existing connection was forcibly closed by the remote host. (Errno::ECONNRESET)
from C:/tools/Ruby/lib/ruby/1.8/net/protocol.rb:133:in `rbuf_fill'
from C:/tools/Ruby/lib/ruby/1.8/timeout.rb:62:in `timeout'
from C:/tools/Ruby/lib/ruby/1.8/timeout.rb:93:in `timeout'
Run Code Online (Sandbox Code Playgroud)
有没有办法在处理任何数据之前测试响应(url)?
代码是:
require 'open-uri'
smth.css.each do |item|
open('item[:name]', 'wb') do |file|
file << open('item[:href]').read
end
end
Run Code Online (Sandbox Code Playgroud)
非常感谢
我刚刚进入红宝石世界,我可以伸出援助之手.
假设b是nil.
我想要返回以下代码nil而不是"NoMethodError:undefined method"
a.b.c("d").e
Run Code Online (Sandbox Code Playgroud)
我尝试的第一件事是重载NilClass的missing_method只是返回一个零.这是我想要的行为,除了我不想成为这种侵扰.
如果我能做到这样的话,我会喜欢它
SafeNils.a.b.c("d").e
Run Code Online (Sandbox Code Playgroud)
所以它就像是一种干净的方式来本地重载NilClass的行为.
我很想听到一些想法或很多资源来挖掘这个.只要它相当干净,我也对其他方法持开放态度.
非常感谢你.
我正在使用Rails gem rails3-jquery-autocomplete来为帖子添加类别.
我想限制搜索只包括属于当前用户或帖子的作者的类别在结果中.
文档说我可以指定范围:
:示波器
添加了使用范围的选项.传递数组中的范围.例如:scopes => [:scope1,:scope2]
但我不确定如何在这里传递用户ID?
这似乎是一个comon场景,我错过了一些明显的东西吗?
我找到了一个建议修改get_item方法的答案,但这似乎打破了自动完成
ruby named-scope ruby-on-rails jquery-autocomplete ruby-on-rails-3
我一直在尝试为Ruby代码设置Vim自动完成功能并且没有成功.我的意思是"工作",但我希望有更好的插件或配置可用.
我已经设置了rubycomplete插件,它做得不错,但没有像RubyMine这样的IDE.一旦我安装它,它只是一股清新的空气,看看我错过了什么.它非常清楚语法,上下文,通常只显示相关的可能选项.
也许我只是没有正确设置.找不到教程,博客文章,关于如何解决这个问题的好文档(特别是最新的文档)是不可能的.有时您会发现有不同的工具和设置,并没有太多解释如何去做.
这类事物是否有社区标准?实现这一目标的最佳工具是什么?任何好的教程,来源,如何去做的线索?
我一直听到有人说他们喜欢Vim而不喜欢像Rubymine这样的IDE,并且他们可以通过适当的插件配置在很多方面实现几乎相同的行为,但我的经验并不一样.我真的想继续使用Vim,因为它更轻,我喜欢编辑器,但生产力是最重要的,我浪费了太多时间阅读3年和4年前关于如何设置它的博客文章.
我的设置:Rails 3.0.9,Ruby 1.9.2
我有理由这样做,但我需要的是一种动态添加虚拟属性到activerecord结果集的方法.这意味着我没有attr_accessor在模型中使用,而是希望动态地将虚拟属性添加到结果集中.
例如,
users = User.all
#a user has following attributes: name, email, password
Run Code Online (Sandbox Code Playgroud)
我喜欢做的是说增加(不使用attr_accessor)虚拟属性status来users,这可能吗?
练习要求为所提供的每个功能编写单元测试.我正在测试的一个项目是,是否引发了适当的异常.建议我们assert_raise为此目的使用.
这是我正在测试的代码:
class ParserError < Exception
end
Pair = Struct.new(:token, :word)
def peek(word_list)
begin
word_list.first.token
rescue
nil
end
end
def match(word_list, expecting)
word = word_list.shift
if word.token == expecting
word
else
nil
end
end
def skip_word(word_list, token)
while peek(word_list) == token
match(word_list, token)
end
end
def parse_verb(word_list)
skip_word(word_list, :stop)
if peek(word_list) == :verb
return match(word_list, :verb)
else
raise ParserError.new("Expected a verb next.")
end
end
Run Code Online (Sandbox Code Playgroud)
这是测试,对于函数parse_verb:
def test_parse_verb
list_one = [Pair.new(:verb, 'go'), Pair.new(:noun, 'king')]
assert_equal(parse_verb(list_one), Pair.new(:verb, 'go')) …Run Code Online (Sandbox Code Playgroud) ruby unit-testing assert assertraises learn-ruby-the-hard-way
是否有可能以某种方式执行rake任务只有它还没有运行,我想使用cron执行一些rake任务但是rake任务不应该在前一次调用未完成时启动谢谢
我正在尝试将ActiveRecord gem升级到最新的3.1.0版本并看到引发了很多异常,我认为这是由于我们如何处理多个数据库.
对于我们的每个数据库,我们指定一个单独的基类,它继承自那里ActiveRecord::Base并establish_connection在其中调用.没有跨数据库关系.到目前为止,这对我们来说运作良好.
升级到ActiveRecord 3.1.0后,我发现它ActiveRecord::ConnectionNotEstablished在遍历关系时会出现异常(即它会成功从数据库中提取单个实体或一组,但在导航到相关类时失败).
回溯的顶线是C:/Ruby/lib/ruby/gems/1.9.1/gems/activerecord-3.1.0/lib/active_record/connection_adapters/abstract/connection_pool.rb:410:in 'retrieve_connection',所以我稍微挖了一下.该方法定义如下:
def retrieve_connection(klass) #:nodoc:
pool = retrieve_connection_pool(klass)
(pool && pool.connection) or raise ConnectionNotEstablished
end
Run Code Online (Sandbox Code Playgroud)
我的简单test(puts Customer.first.address)调用了retrieve_connection3次.两次Customer作为klass参数,一次ActiveRecord::Base作为参数 - 当它失败时,因为establish_connection没有被调用ActiveRecord::Base.
那么实际的问题是 - 在ActiveRecord中有一种新的推荐方法来处理多个数据库连接吗?如果是这样,它是什么?
如果没有,可能导致这个问题的原因是什么?
我正在寻找一个关于Ruby的模运算如何工作以及为什么在Ruby中的简单解释
puts 4 % 3 # 1
puts -4 % 3 # 2 <--why?
puts -4 % -3 # -1
Run Code Online (Sandbox Code Playgroud)
但在PHP中:
<?php
echo 4 % 3; # 1
echo -4 % 3; # -1
echo -4 % -3; # -1
Run Code Online (Sandbox Code Playgroud)
在我看来像-4%3实际上是8%3(8是4和-4之间的差异).
ruby ×10
activerecord ×2
assert ×1
assertraises ×1
deployment ×1
git ×1
heroku ×1
named-scope ×1
null ×1
omnicomplete ×1
open-uri ×1
php ×1
rake ×1
rake-task ×1
unit-testing ×1
vim ×1