小编go *_*mal的帖子

Rspec:如何测试文件操作和文件内容

在我的应用程序中我有这样的代码:

File.open "filename", "w" do |file|
  file.write("text")
end
Run Code Online (Sandbox Code Playgroud)

我想通过rspec测试这段代码.这样做的最佳做法是什么?

ruby testing file-io rspec file

42
推荐指数
4
解决办法
4万
查看次数

Machinist vs FactoryGirl - 优点和缺点

我正在与factory_girl合作,但看着机械师宝石.你能告诉我 - 迁移到机械师的利弊是什么?你比较过那些libs吗?

ruby testing ruby-on-rails machinist factory-bot

40
推荐指数
2
解决办法
9276
查看次数

如何通过其股票代码获取有关公司财务,资产负债表,现金流等的数据

是否有任何好的,免费的(或廉价的)资源来获取有关公司财务信息的信息,我可以通过API或XML Feed或除了屏幕抓取之外的任何内容进行访问?具体来说,我正在寻找总资产,负债,收入等等.

xml api finance

14
推荐指数
2
解决办法
3万
查看次数

如何使用ActiveRecord模型的参数编写自定义验证方法?

在我的模型中,我有:

validate :my_custom_validation

def my_custom_validation
 errors.add_to_base("error message") if condition.exists?
end
Run Code Online (Sandbox Code Playgroud)

我想在mycustomer vaildation中添加一些参数,如下所示:

validate :my_custom_validation, :parameter1 => x, :parameter2 => y
Run Code Online (Sandbox Code Playgroud)

如何编写mycustomvalidation函数来计算参数?

ruby ruby-on-rails

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

Ruby 1.9尚不支持Unicode规范化

我正在尝试将一些旧的rails应用程序移植到Ruby 1.9上,并且我一直在警告"Ruby 1.9还不支持Unicode规范化".我已将其跟踪到此功能,但每个请求我收到大约20条警告消息:

导轨-2.3.5 /的ActiveSupport/lib中/ active_support/inflector.rb

def transliterate(string)
  warn "Ruby 1.9 doesn't support Unicode normalization yet"
  string.dup
end
Run Code Online (Sandbox Code Playgroud)

任何想法我应该如何开始跟踪这些并解决它?

ruby unicode ruby-on-rails

13
推荐指数
2
解决办法
4034
查看次数

使用OS X Mojave安装旧scrypt gem版本的i386 arch error

在重新安装OS X 10.14 Mojave和XCode命令行工具之后,我正在尝试为旧项目安装旧的gem版本.我正在尝试安装的gem是scrypt,版本1.2.1,这是authlogic的依赖.

gem install scrypt -v = 1.2.1

返回以下错误:

Building native extensions. This could take a while...
ERROR:  Error installing scrypt:
    ERROR: Failed to build gem native extension.

    current directory: /Users/chris/.rvm/gems/ruby-2.4.4@rails5/gems/scrypt-1.2.1/ext/scrypt
/Users/chris/.rvm/rubies/ruby-2.4.4/bin/ruby -rrubygems /Users/chris/.rvm/gems/ruby-2.4.4@global/gems/rake-12.0.0/exe/rake RUBYARCHDIR=/Users/chris/.rvm/gems/ruby-2.4.4@rails5/extensions/x86_64-darwin-18/2.4.0/scrypt-1.2.1 RUBYLIBDIR=/Users/chris/.rvm/gems/ruby-2.4.4@rails5/extensions/x86_64-darwin-18/2.4.0/scrypt-1.2.1
mkdir -p x86_64-darwin
gcc -fexceptions -O -fno-omit-frame-pointer -fno-strict-aliasing -Wall -msse -msse2 -arch x86_64 -arch i386   -o x86_64-darwin/crypto_scrypt-sse.o -c ./crypto_scrypt-sse.c
gcc -fexceptions -O -fno-omit-frame-pointer -fno-strict-aliasing -Wall -msse -msse2 -arch x86_64 -arch i386   -o x86_64-darwin/memlimit.o -c ./memlimit.c
gcc -fexceptions -O -fno-omit-frame-pointer -fno-strict-aliasing -Wall -msse …
Run Code Online (Sandbox Code Playgroud)

rubygems compiler-errors ruby-on-rails

13
推荐指数
1
解决办法
1682
查看次数

你如何修复在jQuery中使用slideToggle时出现的闪烁?

我有一个简单的无序列表,我希望在点击时使用jQuery slideUp和slideDown效果显示和隐藏.一切似乎工作正常,但在IE6中,列表将向上滑动,闪烁一瞬间,然后消失.

有谁知道修复此问题?

谢谢!

javascript jquery

12
推荐指数
3
解决办法
3万
查看次数

我一直得到发送到我服务器的QUIT和CONNECT HTTP方法,它们是什么意思?

我一直从服务器上得到以下两个错误,我以为他们只是机器人寻找潜在的目标,但是有没有人知道我为什么会得到这些?我正在使用SslRequirement插件来确保登录/注册页面的所有命中都被重定向到SSL,因此所有这些对root的奇怪https请求都应该重定向到常规http.


应用程序#index中发生了一个ActionController :: UnknownHttpMethod:quit,接受的HTTP方法是get,head,put,post,delete和options

/usr/local/lib/ruby/gems/1.9.1/gems/actionpack-2.3.4/lib/action_controller/request.rb:35:in'request_method'

  • PATH_INFO:/
  • REMOTE_ADDR:99.19.208.249
  • REMOTE_PORT:6376
  • REQUEST_METHOD:CONNECT
  • REQUEST_URI:/
  • SERVER_PORT:443
  • SERVER_PROTOCOL:HTTP/1.0
  • SERVER_SOFTWARE:Apache

应用程序#index:CONNECT中发生了一个ActionController :: UnknownHttpMethod,接受的HTTP方法是get,head,put,post,delete和options

/usr/local/lib/ruby/gems/1.9.1/gems/actionpack-2.3.4/lib/action_controller/request.rb:35:in'request_method'

  • HTTPS:开启
  • HTTP_X_FORWARDED_PROTO:https
  • PATH_INFO:/
  • REMOTE_ADDR:91.209.196.76
  • REMOTE_PORT:50751
  • REQUEST_METHOD:退出
  • REQUEST_URI:/
  • SERVER_PORT:443
  • SERVER_PROTOCOL:HTTP/0.9

apache ruby-on-rails http connect quit

8
推荐指数
1
解决办法
3283
查看次数

AuthLogic perishable_token会在每个请求中重置

在我的用户模型中,我有:

acts_as_authentic do |c|
  c.perishable_token_valid_for = 30.minutes
end
Run Code Online (Sandbox Code Playgroud)

在我的应用程序控制器中,我有标准的样板代码:

def current_user_session
  return @current_user_session if defined?(@current_user_session)
  @current_user_session = UserSession.find
end

def current_user
  return @current_user if defined?(@current_user)
  @current_user = current_user_session && current_user_session.record
end
Run Code Online (Sandbox Code Playgroud)

现在在我看来,我需要查看用户是否已登录:

<% if current_user %>
  Sign Out
<% else %>
  Sign In
<% end %>
Run Code Online (Sandbox Code Playgroud)

在每个请求中,都会调用current_user,这会导致对数据库进行SELECT调用以查找用户,然后进行更新last_request_at和perishable_token的UPDATE调用,即使我设置了perishable_token_valid_for = 30.minutes.

  1. 有没有人有更好的方法来查看用户是否登录而不会在我的应用程序的每个页面上导致SELECT和UPDATE.

  2. 有没有人知道为什么即使我将它设置为30分钟有效,易腐败令牌仍在不断更新?

ruby ruby-on-rails authlogic

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

bundle exec rake db:migrate导致"找不到可执行的rake"错误

我最近安装了Rails 3.1,现在我的旧Rails 3.0应用程序不会使用db:migrate.这是我尝试运行时会发生的事情bundle exec rake db:migrate.我在没有RVM的Ubuntu上

/usr/local/lib/ruby/gems/1.9.1/gems/bundler-1.0.7/lib/bundler/shared_helpers.rb:142:in `block in cripple_rubygems': can't find executable rake (Gem::Exception)
    from /usr/local/lib/ruby/gems/1.9.1/bin/rake:19:in `<main>'
Run Code Online (Sandbox Code Playgroud)

当我运行时rake db:migrate,它输出:

rake aborted!
You have already activated rake 0.9.2.2, but your Gemfile requires rake 0.8.7. Consider using bundle exec.

(See full trace by running task with --trace)
Run Code Online (Sandbox Code Playgroud)

哪个耙子

/usr/local/bin/rake
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails

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