小编tor*_*o2k的帖子

Net :: ftp getbinaryfile()保存到文件与保存到变量

使用以下ftp_download方法有效,但如果我改变

ftp.getbinaryfile(file,localdir,1024)   #=> Saves the file to localdir
Run Code Online (Sandbox Code Playgroud)

ftp.getbinaryfile(file)    #=> returns nil
Run Code Online (Sandbox Code Playgroud)

nil回来了.根据

http://www.ruby-doc.org/stdlib-2.0/libdoc/net/ftp/rdoc/Net/FTP.html#method-i-getbinaryfile

inilf我设置localfilenil如上述,数据应被检索以及由该方法返回.我究竟做错了什么?

def ftp_download(domain,remotedir,filename_regex,user=nil,pwd=nil)
  ftp = Net::FTP::new(domain)
  if user && pwd
    ftp.login(user, pwd)
  end
  ftp.chdir(remotedir)
  fileList = ftp.nlst(filename_regex)

  fileList.each do |file|
    localdir=File.join(remotedir,file)
    localdir=localdir[1..-1] if localdir[0]="/"
    FileUtils.mkdir_p(File.dirname(localdir))
    ftp.getbinaryfile(file,localdir,1024)
  end
  ftp.close
end
Run Code Online (Sandbox Code Playgroud)

ruby default-parameters net-ftp

6
推荐指数
1
解决办法
2048
查看次数

从Controller中访问Deadbolt用户

我正在使用Deadbolt 2Playframework 2.1.

getSubject()我的功能中,我DeadboltHandler检查用户密码并从数据库中检索用户.

是否可以在我的控制器中访问此用户,以避免每次请求检索用户两次?

deadbolt playframework-2.1

6
推荐指数
1
解决办法
1301
查看次数

获取字符串的所有前缀列表

Ruby String类中是否有任何内置函数可以为我提供Ruby中字符串的所有前缀.就像是:

"ruby".all_prefixes => ["ruby", "rub", "ru", "r"]
Run Code Online (Sandbox Code Playgroud)

目前我已为此制作了自定义功能:

def all_prefixes search_string
  dup_string = search_string.dup
  return_list = []
  while(dup_string.length != 0)
    return_list << dup_string.dup
    dup_string.chop!
  end 
 return_list 
end
Run Code Online (Sandbox Code Playgroud)

但我正在寻找更多的rubylike,更少的代码和神奇的东西.注意:当然不言而喻original_string应该保持不变.

ruby

6
推荐指数
4
解决办法
1245
查看次数

StaleElementReference错误元素在缓存中找不到

我正在使用带有Ruby 1.9.3的Capybara 2.1使用selenium驱动程序(使用Minitest和测试单元)来测试Web应用程序.

我正在努力解决这个StaleElementReferenceException问题.我已经看过很多关于这个主题的讨论,但我无法找到解决我所面临的问题的方法.

基本上,我试图使用以下代码在我的页面上找到所有分页元素:

pagination_elements = page.all('.pagination a')
Run Code Online (Sandbox Code Playgroud)

然后我在这些元素上做一些断言,比如:

pagination_elements.first.must_have_content('1')
Run Code Online (Sandbox Code Playgroud)

在这些断言之后,我通过单击Next Page链接继续测试,以确保我未来的第一个分页元素将是Previous Page.要做到这一点,我再次检索分页元素:

new_pagination_elements = page.all('.pagination a')
Run Code Online (Sandbox Code Playgroud)

而且Stale Error正在这里发生,因为我已经达到了我已经达到过的元素.(这是错误)

您可以在此处查看链接状态.

我真的不知道如何使这个常见的测试工作正常.你有更好的方法来达到我的分页元素吗?

ruby ruby-on-rails capybara

6
推荐指数
1
解决办法
3019
查看次数

Rails视图中的三元运算符

我是Rails的新手,请原谅我,如果它很简单,但看起来好像我写的是正确的.我在我的视图中使用三元运算符来决定是否添加一类活动:

<li class="<% is_current_page('') ? 'active' : '' %>">
Run Code Online (Sandbox Code Playgroud)

而且我已经调试过,并且肯定知道它is_current_page('')正在返回true.

ruby ruby-on-rails

6
推荐指数
1
解决办法
1万
查看次数

Ruby中的charCodeAt()等价物

我想知道是否有一个类似于JavaScript的Ruby charCodeAt()方法.该charCodeAt()方法返回字符串中指定索引处的字符的Unicode值.

以下示例返回字符串中最后一个字符的Unicode值:

str.charCodeAt("HELLO WORLD".length-1)
#=> 68
Run Code Online (Sandbox Code Playgroud)

Ruby中有相同的东西吗?

ruby character-encoding

6
推荐指数
1
解决办法
788
查看次数

`require`与`gem`方法?

requiregem方法有什么区别?

例如,require 'minitest'和之间有什么区别gem 'minitest'

ruby gem require

6
推荐指数
2
解决办法
802
查看次数

如何拆分数组?

给定一个数组:

arr = [['a', '1'], ['b','2'], ['c', '3']] 
Run Code Online (Sandbox Code Playgroud)

什么是将它分成两个数组的最佳方法?

例如,从上面的数组我想得到以下两个数组:

first = ['a','b','c']  
second = ['1', '2', '3'] 
Run Code Online (Sandbox Code Playgroud)

我能用这个collect吗?

ruby arrays

5
推荐指数
1
解决办法
3634
查看次数

检查Rails 4中不存在路由

我停用了用户注册(Gem Devise),并且想进行测试以确保路由/users/sign_up不存在。

为此,我在 spec/features/user_spec.rb

require 'spec_helper'
require 'capybara/rspec'

feature "Users" do
  scenario "could not register " do
    expect(:get => "/users/sign_up").not_to be_routable
  end
end
Run Code Online (Sandbox Code Playgroud)

当我运行此测试时,出现以下错误:

1) Users could not register
   Failure/Error: expect(:get => "/users/sign_up").not_to be_routable
   NoMethodError:
     undefined method `routable?' for {:get=>"/users/sign_up"}:Hash
   # ./spec/features/user_spec.rb:8:in `block (2 levels) in <top (required)>'
Run Code Online (Sandbox Code Playgroud)

rspec capybara ruby-on-rails-4

5
推荐指数
2
解决办法
1473
查看次数

获取数组值的最优雅方法是什么,最小化某个类属性?

说我有以下课程:

class Person
    def initialize(name, age)
        @name = name
        @age = age
    end

    def get_age
        return @age
    end
end
Run Code Online (Sandbox Code Playgroud)

我有一系列的Person对象.是否有一种简洁的,类似Ruby的方式来获得最小(或最大)年龄的人?怎么样按它排序呢?

ruby sorting

5
推荐指数
1
解决办法
76
查看次数