Tag: ruby

如何在rspec特性测试中访问(设计)current_user?

在设计文档中,他们提供了有关在测试控制器时如何访问current_user的提示: https://github.com/plataformatec/devise/wiki/How-To:-Test-controllers-with-Rails-3-and-4-%28and-RSpec%29 但是,在进行function测试时呢? 我正在尝试测试我的一个控制器的create方法,并在该控制器中使用current_user变量。 问题是设计中建议的宏使用@request变量,对于特征规范它是零。 什么是变通方法? 编辑: 到目前为止,这是我目前的规格: feature ‘As a user I manage the orders of the system’ do scenario ‘User is logged in ad an admin’ do user = create(:user) order = create(:order, user: user) visit orders_path #Expectations end end 问题是在我的OrdersController我有一个current_user.orders调用,并且由于current_user没有定义,它会将我重定向到/users/sign_in 。 我在/spec/features/manage_orders.rb下定义了这个

Rails如何在保存后更新列?

我想为我的费率操作创建一个after_save方法。 它会将rating_score / ratings分开并更新列评级。 class KonkurrancersController < ApplicationController def rate @konkurrancer = Konkurrancer.find(params[:id]) @container = "Konkurrancer"+@konkurrancer.id.to_s @konkurrancer.rating_score += params[:vind][:rating].to_i @konkurrancer.ratings += 1 @konkurrancer.save respond_to do |format| format.js end end end 这是我的模特: class Konkurrancer rating) end end 我的rails日志: Started POST “/konkurrancers/rate/46” for 127.0.0.1 at 2011-04-26 23:40:56 +0200 Processing by KonkurrancersController#rate as */* Parameters: {“utf8″=>”Ô£ô”, “authenticity_token”=>”MACFM37hX4S6XA9vryn7gtfl21P vcaPBSiKDI8mfurg=”, […]

如何从/ usr / local卸载Ruby?

一切都工作正常,直到我们决定将ruby从1.8.6升级到1.8.7,那就是当它完全崩溃的时候。 当我们从源代码编译Ruby 1.8.7时,它已安装到/ usr / local / bin中,而Ruby 1.8.6则保留在/ usr / bin中。 目前,我们已经卸载了ruby 1.8.6,并且我们删除了/ usr / local中的ruby 1.8.7文件。 当我们尝试“哪个ruby”它指向/ usr / local。 如果有人可以帮助我们做我们需要做的事情重新回到正轨,我们将非常感激。并且还知道我们如何从/ usr / local卸载ruby。 我们尝试了yum删除ruby,从/usr/bin.Thanks和干杯中删除ruby!

解密使用Ruby在命令行上生成的salted AES文件

我想解密以前使用OpenSSL的命令行工具加密的ruby 2.1脚本中的文本文件: openssl enc -aes-256-cbc -a -salt -in my_file 如命令中所示,该文件是AES-256-CBC加密,盐渍和base64编码。 密码是已知的,但不是IV和密钥,它们是遵循此代码片段所必需的,取自ruby文档 : decipher = OpenSSL::Cipher::AES.new 256, :CBC decipher.decrypt decipher.key = key decipher.iv = iv plain = decipher.update(encrypted_text) + decipher.final 在尝试寻找答案的同时,我发现了gemAESCrypt gem,它可以简化en-and decrypting,但目前发布的版本与ruby 2.1不兼容。 看着它的源代码,我发现密钥是通过消化密码来检索的 ,而IV只是保留nil 。 所以我尝试了以下运行: encoded_and_encrypted_text = File.read my_file_path encrypted_text = Base64.decode64 encoded_and_encrypted_text.to_s.strip decipher = OpenSSL::Cipher::AES.new 256, :CBC decipher.decrypt decipher.key = OpenSSL::Digest::SHA256.new(my_password).digest plain_text […]

RVM生产准备好了吗?

RVM非常适合在本地计算机上进行开发。 但它在生产机器上是否安全?

将.doc或.pdf转换为图像并在Ruby中显示缩略图?

将.doc或.pdf转换为图像并在Ruby中显示缩略图? 有谁知道如何在Ruby(或C,python …)中生成文档缩略图

Ruby Net :: HTTP超时

我正在尝试编写我的第一个Ruby程序,但是有问题。 该代码必须通过HTTP下载32个MP3文件。 它实际上下载了一些,然后是超时。 我尝试设置超时时间,但没有区别。 在Windows下运行代码,Cygwin和Mac OS X具有相同的结果。 这是代码: require ‘rubygems’ require ‘open-uri’ require ‘nokogiri’ require ‘set’ require ‘net/http’ require ‘uri’ puts “\n Up and running!\n\n” links_set = {} pages = [‘http://www.vimeo.com/siai/videos/sort:oldest’, ‘http://www.vimeo.com/siai/videos/page:2/sort:oldest’, ‘http://www.vimeo.com/siai/videos/page:3/sort:oldest’] pages.each do |page| doc = Nokogiri::HTML(open(page)) doc.search(‘//*[@href]’).each do |m| video_id = m[:href] if video_id.match(/^\/(\d+)$/i) links_set[video_id[/\d+/]] = m.children[0].to_s.split(” at “)[0].split(” — “)[0] end […]

在Ruby中使用插入符号(^)

1 ^ 1 # => 0 1 ^ 2 # => 3 5 ^ 6 # => 3 这些是我得到的结果。 请问,有人解释^如何工作?

Travis报告了Gemfile.lock损坏的奇怪消息

我使用bundler来安装东西,因为我已经添加了Gemfile.lock ,travis开始抱怨: Your Gemfile.lock is corrupt. The following gem is missing from the DEPENDENCIES section: ‘echoe’ 当然,一切都在当地运作。 它也可以使用DeployBot 。 我甚至安装了docker ubuntu并尝试过,还可以。 我的Gemfile.lock没有损坏。 使用相同版本的ruby和bundler。 到底是怎么回事? 更新 这与bundler版本有关。 我使用的是1.11.0,但得到报告称它与例如。 1.8.3。 ??

如何在ruby 1.9.3 / Rails中安装ruby-debug 3.2.1

可能重复: Rails 3.1和Ruby 1.9.3p125:ruby-debug19仍然崩溃,“找不到符号:_ruby_threadptr_data_type” 我已完成打印到控制台 – 我想升级到20世纪并开始使用调试器! 但是如何安装ruby-debug? 当我尝试安装ruby-debug19 gem时, ruby-debug.c本机编译失败了。 我查看了其他SOpost,还没有找到答案…… 我使用的是Ruby 1.9.3-p0 我正在使用Rails 3.2(当然还有Gemfile) 我没有使用RVM – 相反,我有一个完整的沙盒目录,包含所有可执行文件,gem,源代码等。我将它称为$ SANDBOX下面的… 捆绑安装不起作用 如果我将ruby-debug19添加到我的Gemfile并进行bundle install ,那么在构建期间它会conflicting types for ‘rb_iseq_compile_with_option’失败: # file: Gemfile … group :development do gem ‘ruby-debug19’ end … % bundle install … Installing ruby-debug-base19 (0.11.25) with native extensions Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native […]