Rails FactoryGirl内部应用程序在开发环境中

我正在尝试使用rails_email_preview gem在我的应用程序中使用FactoryGirl gem开发模式(它用于邮件程序测试更多 )。 它可以工作,但只在初始页面加载,重新加载/刷新页面后,我得到以下错误: Factory not registered: order 其中order是工厂名称。 这是我的代码(它是我的Rails引擎的虚拟应用程序): 规格/虚拟/应用/ mailer_previews / mymodule中/ order_mailer_preview.rb Dir[Mymodule::Core::Engine.root.join(‘spec’, ‘factories’, ‘*’)].each do |f| require_dependency f end module Mymodule class OrderMailerPreview def confirmation_email o = FactoryGirl.create(:order) OrderMailer.confirmation_email(o) end end end 当然,我的工厂在测试环境中没有任何问题。 任何帮助,将不胜感激。 编辑: p FactoryGirl.factories 返回(页面重新加载后) #

在rails上的ruby中将sqlite更改为PostgreSQL

我正在使用win 7与docker和docker我在轨道上使用ruby,我做了一个适用于sqlite3的应用程序但是当我尝试上传到Heroku时,Heroku给了我一个错误,它不支持sqlite3所以我有将我的app数据库更改为PostgreSQL并进行了以下更改:在我的Gemfile中我评论了gem sqlite3: # Use sqlite3 as the database for Active Record #gem ‘sqlite3’ #posgresql gem ‘pg’ 第二个我做了“捆绑安装”,然后是docker-compuse构建 然后在我的database.yml中: 之前: default: &default adapter: sqlite3 pool: timeout: 5000 development: <<: *default database: db/development.sqlite3 # Warning: The database defined as "test" will be erased and # re-generated from your development database when you run "rake". # Do […]

Capybara不会填写表格字段(虽然它找到了)

我正在使用Ruby 2.2.1和Capybara 2.2.4开发Rails 4.2.1。 编写规范来注册用户,Capybara确实找到了字段(我没有得到ElementNotFound错误),但是当我尝试validation时,我发现所有字段都是空的并且在打开launchy之前告诉Capybara单击注册按钮显示所有字段为空。 规格: require ‘rails_helper’ RSpec.feature “Sign Up Users”, type: :feature do scenario “saves user to the database with valid data” do visit root_path click_link “Sign Up” find(“#user_name”).set(“John Doe”) fill_in “user_username”, with: “johndoe” fill_in “user_email”, with: “john@example.com” fill_in “user_password”, with: “helloworld” fill_in “user_password_confirmation”, with: “helloworld” save_and_open_page click_button “Create Account” expect(page).to have_text(‘Account successfully […]

如何使用devise和Rails 4设置用户身份validation?

我正在尝试通过设计工作获得用户身份validation,并且失败。 我尝试按照RailsGirls文章中的步骤进行操作 ,但是在创建了简单的新项目之后,添加了gem’devise gem ‘devise’并运行了bundle install ,但是当我运行rails generate devise:install我得到了一大堆错误 Error:Get available generators script executes with errors: Error:C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/activerecord-4.1.1/lib/active_record/dynamic_matchers.rb:26:in `method_missing’: undefined method `devise’ for User (call ‘User.connection’ to establish a connection):Class (NoMethodError) 有谁知道我可能做错了什么? (我尝试使用设计维基中的说明,但我也无法以这种方式工作)。

如何通过文件扩展名确定mime类型? (ruby)

我在stackoverflow上看过这样的问题,但没有什么是ruby的。 所以我有这样的文件扩展名: css , html , js , json 我想将它们转换成: text/css , text/html , text/javascript , application/json 我想在ruby中实现这一点。 写完之后: ext_to_mime(“css”) 我应该得到: text/css 如果有任何gem,也欢迎他们。

多个字段的单个虚拟属性定义

我想知道是否有办法设置虚拟属性,以便它可以处理多个字段/变量。 基本上,我的模型中有几个不同的整数列(收入,税收),每个我需要检查表单提交时,并删除非法字符,我通过设置虚拟属性并使用tr来删除剥去角色。 def flexible_income income end def flexible_income=(income) self.income = income.tr(‘$ ,’, ”) unless income.blank? end 然后我应该在控制器中设置强参数: params.required(:tax).permit(:flexible_income, :flexible_taxes) 问题是我有很多字段(不仅仅是我上面列出的两个字段),因此对于每个字段,(其中许多只需要检查完全相同的非法字符)我必须使用新的虚拟属性和基本上只是重复相同的代码: def flexible_taxes taxes end def flexible_taxes=(taxes) self.taxes = taxes.tr(‘$ ,’, ”) unless taxes.blank? end 反正只是为许多不同的字段设置一个共同的共享属性,同时仍能设置强参数?

如何使用Rails通过Web套接字发送二进制文件

我有一个Rails应用程序,用户上传音频文件。 我想将它们发送到第三方服务器,我需要使用Web套接字连接到外部服务器,因此,我需要我的Rails应用程序作为websocket客户端。 我正在试图找出如何正确设置它。 我还没有承诺任何gem,但’faye-websocket’gem看起来很有前途。 我甚至在“ 超时之前在websocket中发送大文件 ”中找到了类似的答案,但是,使用该代码对我来说不起作用。 以下是我的代码示例: @message = Array.new EM.run { ws = Faye::WebSocket::Client.new(“wss://example_url.com”) ws.on :open do |event| File.open(‘path/to/audio_file.wav’,’rb’) do |f| ws.send(f.gets) end end ws.on :message do |event| @message << [event.data] end ws.on :close do |event| ws = nil EM.stop end } 当我使用它时,我从收件人服务器收到错误: No JSON object could be decoded 这是有道理的,因为我不相信它为faye-websocket正确格式化。 他们的文件说: send(message)接受字符串或字节大小的数组,并通过连接向另一个对等体发送文本或二进制消息; 二进制数据必须编码为数组。 […]

即使安装了gem,Ruby 2.0.0也无法加载此类文件

我已经尝试了人们在这里谈到的所有其他解决方案,但没有一个已经帮助/应用。 我编写了一个需要电子表格gem的Ruby脚本。 当我使用ruby myscript.rb正常执行脚本时,需要正常工作,但是在运行chmod +x myscript.rb ,然后尝试使用./myscript.rb运行程序时./myscript.rb以下错误…. /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require’: cannot load such file — spreadsheet (LoadError) from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require’ from /Users/fcangialosi/dev/mTC/parse.rb:2:in `’ from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require’ from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require’ from /Users/fcangialosi/dev/mTC/interpreter.rb:1:in `’ from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require’ from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:45:in `require’ from ./pmcnp.rb:7:in `’ 我的脚本的开头看起来像这样: #!/usr/bin/ruby require ‘rubygems’ require ‘spreadsheet’ 如果有人有任何想法,我会非常感激。

在`require’:无法加载这样的文件 – httparty(LoadError)

我的默认ruby是2.0.0p384。 ruby脚本有: #!/usr/bin/env ruby require ‘rubygems’ require ‘httparty’ 如果上面的标题更改为: #!/usr/bin/ruby1.9.1 脚本运行正常。 /var/lib/gems/2.0.0/gems/httparty-0.13.5存在。 我无法理解为什么用2.0.0 ruby​​运行脚本会给出: /usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:53:in require’: cannot load such file — httparty (LoadError) from usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:53:in in`’

Errno :: ECONNREFUSED无法建立连接,因为

我在安装rubygem时遇到了麻烦。 当我跑 gem install compass 我收到以下错误 ERROR: Could not find a valid gem ‘compass’ (>= 0), here is why: Unable to download data from https://rubygems.org/ – no such name (https://rubygems.org/latest_specs.4.8.gz) 试图找到这个特定问题的答案后,我可以得出结论(在谷歌的帮助下),我在公司代理背后的事实阻止了与Rubygems.org的连接 所以通过更多的谷歌搜索我发现这个命令,人们已经习惯在代理后面成功连接 gem install compass –http-proxy=http://%USERNAME%:%PASSWORD%@%PROXY_SERVER%:%PROXY_PORT_NUMBER% 运行此命令替换相关信息后我没有得到不同的错误。 ERROR: Could not find a valid gem ‘compass’ (>= 0), here is why: Unable to download data from […]