如何在Rails TestCases中显示更长的跟踪

是否有设置的配置变量,或其他一些方式让Rails ActiveSupport::TestCase显示多个跟踪线? 否则很难调试。 例: ERROR test_something (0.73s) SystemStackError: stack level too deep /Users/mario/.rvm/gems/ruby-1.9.2-p290/gems/activerecord-3.0.9/lib/active_record/connection_adapters/abstract/database_statements.rb:153

first_or_create通过电子邮件,然后保存嵌套模型

我的两个模型User和Submission如下: class User {:message => “Please enter a valid email address” } validates :email, :uniqueness => { :case_sensitive => false } end class Submission true validates :text, :length => { :minimum => 250 } validates :word_count, :numericality => { :only_integer => true } end 我有一个表格收集这两个模型所需的数据。 用户控制器: def index @user = User.new @user.submissions.build end def create […]

为什么Net :: FTP无法连接到服务器?

我正在尝试创建一个脚本来列出和使用Ruby从FTP服务器下载数据。 我是Ruby的新手,所以我查找了如何使用Net :: FTP的文档。 我无法理解为什么这不起作用: require ‘net/ftp’ server = “ftp.server.com” user = “myuser” password = “mypassword” Net::FTP.open(server, user, password) do |ftp| files = ftp.chdir(‘mydirectory/’) files = ftp.list puts “list out of directory:” puts files end 这不起作用,返回此错误: /home/adhown/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/net/ftp.rb:298:in`getresp’:425>无法建立连接。 (网:: FTPTempError) 来自/home/adhown/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/net/ftp.rb:325:in在sendcmd中的块 来自/home/adhown/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/monitor.rb:211:in`mon_synchronize’ 来自/home/adhown/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/net/ftp.rb:323:in`sendcmd’ 来自/home/adhown/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/net/ftp.rb:402:in`transfercmd’ 来自/home/adhown/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/net/ftp.rb:478:in”block(2级)in retrlines’ 来自/home/adhown/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/net/ftp.rb:178:in`with_binary’ 来自/home/adhown/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/net/ftp.rb:477:in”clock in retrlines’ 来自/home/adhown/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/monitor.rb:211:in`mon_synchronize’ 来自/home/adhown/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/net/ftp.rb:476:in“retrlines” 来自/home/adhown/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/net/ftp.rb:722:in`list’ 来自test_ftp.rb:10:在`block in’中 来自/home/adhown/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/net/ftp.rb:116:in“open” […]

通过RTMP / Rails录制音频

我正在构建rails / flex应用程序,需要录制音频然后存储在我们的amazon s3帐户中。 我找不到使用某种forms的RTMP服务器通过闪存录制音频的替代方案,但我们的托管环境将不允许我们安装任何类似FMS,Red5等的东西。 是否有任何现有的Ruby / Rails RTMP解决方案可以录音? 如果没有,Rails是否有可能至少拦截RTMP流,然后我可以希望引用red5的源代码来解析数据(远射,我知道)? 我能想到的另一个选择是在另一台主机上托管一台red5服务器,并在保存/上传完成后与我们的rails应用程序通信,这不是首选。 我在这里有运气吗?

从Ruby访问Microsoft Exchange服务器

我需要将MS Exchange的联系人与我的Ruby on Rails应用程序同步。 哪种方式最好? 你会推荐任何现有的gem吗?

logger.debug没有写入Rails中的日志文件

我试图在Rails中调试模型,所以我使用此代码: logger.debug(‘asasd’) 但是,我正在拖尾日志文件development.log,但我没有看到它添加到此文件。 我确信这个模块正在运行 我已经确认运行时错误正在记录到这个文件,当我拖尾时我会看到它们。 我如何让它工作?

你能指定用于Sinatra重定向的HTTP方法吗?

我有这样的事情: post “/login” do end get “/login” do end post “/register” do … redirect “/login” # I would like to redirect to get “/login” instead of post “login” end 我可以告诉sinatra我想使用get,而不是隐含地选择“post”吗?

在RSpec中的所有MiniTest测试中包含模块

在RSpec中,我可以在/spec/support/…创建辅助模块/spec/support/… module MyHelpers def help1 puts “hi” end end 并将其包含在每个规范中: RSpec.configure do |config| config.include(MyHelpers) end 并在我的测试中使用它,如下所示: describe User do it “does something” do help1 end end 如何在所有MiniTest测试中包含一个模块,而不必在每次测试中重复自己?

无法登录Active Admin。 有没有办法创建管理员用户?

当我尝试使用默认管理员用户登录时,我收到“无效的电子邮件或密码”。 有没有办法用代码创建用户并尝试以这种方式登录? 我可以登录我的实时网站,但不能在本地登录。 我的开发代码完全匹配生产中的内容。

等待Ruby子pid退出

我正在尝试分叉一个子进程,等待它完成,如果它在一定时间内没有完成,就把它杀掉。 这是我到目前为止: servers.each do |server| pid = fork do puts “Forking #{server}.” output = “doing stuff here” puts output end Process.wait puts “#{server} child exited, pid = #{pid}” end 在Process.wait之后的某个地方,我希望某种实用程序等待20秒,如果进程仍在那里,我想杀死它并将输出标记为“ERROR”。 我是fork / exec的新手。 我的代码实际上是forking工作,但我只是不知道如何处理它的等待/查杀方面。