Tag: rubygems

如何从gem定义一个方法在模型中使用?

我正在尝试构建一个gem,我想在gem中定义一个方法my_method并在模型中使用它。 例: class MyModel < ActiveRecord::Base my_method end 我的gem: #lib/my_gem.rb require “my_gem/model_inclusions” module MyGem end #lib/my_gem/model_inclusions.rb module MyGem def self.included(base) base.extend ClassMethods end module ClassMethods def my_method end end end 当我尝试这个例子时,它undefined method ‘my_method’ for (NoMethodError)提供了undefined method ‘my_method’ for (NoMethodError)

Rails资产管道问题与jquery-ui

更新 我从jquery网站下载了最新版本的jquery 3.1和jquery-ui。 不幸的是, .effect()函数的这个问题没有连接到资产管道。 我包含了所有必需的js和css文件,但.effect()不起作用。 这个问题只与Jquery-ui有关,而jquery方法工作正常。 我放弃了这个,做了一个git checkout,我现在不会使用Jquery-ui效果。 摘要 我的资产管道工作正常,但由于我想使用jquery-ui .effect()函数,我发现浏览器控制台中的jquery-ui.css样式表存在问题。 我使用1.12.1 / jquery-ui.js在rails环境之外测试了这个函数,并且它工作正常。 我可以在http://localhost:3000/assets/jquery-ui.css 显示 jquery-ui.css文件。 我做了以下事情: 由于我的jquery-ui.js文件也是空的,我需要在我的应用程序js中//= require jquery2 。 这解决了jquery-ui.js的问题 由于缺少jquery-ui.css文件,我执行了以下操作: 运行rm -rf public/assets删除该文件夹中的文件(我也尝试过rake assets:clean ) run rails assets:在开发和生产中预编译 清除浏览器缓存并使用chrome匿名浏览 这没有解决任何问题,但我可以看到文件和生产中这个问题不存在。 application.css文件包含jquery-ui.css。 所以也许.effect()不适用于css,但缺少js文件? 效果在生产中也不起作用。 https://barteringapps.herokuapp.com/ 请按照上面的链接,使用chrome,您可以在18610行的application.js文件中测试此function,设置断点并查看不会反弹。 点击大底“用facebook注册”即可触发效果。 我想也许我没有反弹效果,但我可以看到该文件包含在开发中,我想这不是问题。 Mozilla给我以下错误“http:localhost:3000 / assets / jquery-ui.self-fingerprint.css无法加载”(我没有清楚mozilla现金)。 这就是我所知道的,我运行的jquery版本是v2.2.4,它与JqueryUi兼容。 我的jquery-rails gem版本是4.2.2,而我的jquery-ui版本是以下’〜> 6.0’,’> = 6.0.1’。 文档 我已阅读并按照以下post的说明Rails […]

Rails有很多属于

我正在构建一个日常交易应用程序,以更好地学习Ruby on Rails。 在M.Hartly教程中,我理解了模型的概念及其关系(微博属于用户,用户有多个微博)。 但是我不确定如何在我的日常交易项目中付诸实践。 我决定为具有不同权限的两类用户的用户建立一个模型: admin_user可以创建/更新/编辑/删除交易 standard_user谁可以看到交易,如果他们发现一个有趣的参与交易 两个用户都进入用户数据库 我还决定有一个交易模型并进入交易数据库所以我理解得很好: admin_user has_many交易 交易属于admin_user standard_user有很多交易(实际上他可以参与很多交易) 和交易不属于standard_user所以我不能在这里说什么。 我明白了吗? 可以根据用户的权利类型定义与模型对象的不同关系(在这种情况下:交易) PS:我想我会将用户与cancan gem分开来给予他们不同的权利

安装gem“joyride-rails”时的依赖性错误

我的rails版本是3.2.12 。 我正在尝试在我的应用程序中实现gem “joyride-rails”, “~> 0.0.14” ,但它与我的其他一些gem发生冲突。 已经在我的Gemfile中了: gem “haml-rails”, “>= 0.4” gem ‘activeadmin-mongoid’, github: ‘elia/activeadmin-mongoid’, branch: ‘active-admin-spec-suite’ 当我运行bundle命令时,我收到此错误: Bundler could not find compatible versions for gem “haml”: In Gemfile: joyride-rails (~> 0.0.14) ruby depends on haml (~> 3.1) ruby haml-rails (>= 0.4) ruby depends on haml (4.0.3) 所以,如果我添加gem “haml”, “~> 4.0.3” ,新的捆绑冲突是: Bundler could […]

Rails has_secure_password无法加载此类文件–bcrypt

我正在尝试在Ruby on Rails中创建简单的身份validation。 我目前卡住了,因为在数据库中创建表并在模型中添加has_secure_password我收到错误LoadError: cannot load such file — bcrypt 。 当我使用基本命令在rails console尝试时发生错误: User.all 。 我看过很多解决方案,但没有任何帮助。 目前我已经从https://github.com/codahale/bcrypt-ruby.git安装了bcrypt,但仍然无法正常工作。 预先感谢您的帮助。

Rails:Selenium :: WebDriver :: Error :: WebDriverError:不可执行:’chromedriver-helper’

我两天前设置了Rails环境,我认为事情进展顺利但是当我运行rake test命令时,由于这个加载错误导致它被中止: Bundler::GemRequireError: There was an error while trying to load the gem ‘chromedriver-helper’` `Caused by: Selenium::WebDriver::Error::WebDriverError: not executable: “C:/Ruby24-x64/lib/ruby/gems/2.4.0/gems/chromedriver-helper-2.1.0/bin/chromedriver-helper” 我尝试过一些东西,但没有任何效果。 我重新安装了gem并更新了它。 然后我尝试安装它的旧版本。 我还试图在gem “chromedriver-helper”添加gem “selenium-webdriver”和gem “chromedriver-helper” 并在spec_helper.rb : Capybara.register_driver :selenium do |app| Capybara::Selenium::Driver.new(app, browser: :chrome) end 正如在github上提到但不确定我接下来应该尝试什么。 有人可以帮帮我吗? 谢谢。

从Rails插件向Rails引擎模型添加方法

我正在编写一个Rails插件来扩展Rails引擎。 即MyPlugin将MyEngine作为依赖项。 在我的Rails引擎上,我有一个MyEngine::Foo模型。 我想为这个模型添加新方法,所以我在我的插件app/models/my_engine/foo.rb创建了一个文件,其中包含以下代码: module MyEngine class Foo def sayhi puts “hi” end end end 如果我在插件虚拟应用程序上进入Rails控制台,我可以找到MyEngine::Foo ,但运行MyEngine::Foo.new.sayhi返回 NoMethodError:未定义的方法`sayhi’ 为什么MyPlugin无法看到MyEngine::Foo模型的更新? 我哪里错了?

Heroku上的act-as-taggable-on

我一直在我的开发应用程序中使用act-as-taggable-on进行标记,但是当我将它推送到Heroku时,我收到了一个令人讨厌的错误: ActionView::TemplateError (PGError: ERROR: relation “tags” does not exist : SELECT tags.*, taggings.tags_count AS count FROM “tags” JOIN (SELECT taggings.tag_id, COUNT(taggings.tag_id) AS tags_count FROM “taggings” INNER JOIN offers ON offers.id = taggings.taggable_id WHERE (taggings.taggable_type = E’Offer’ AND taggings.context = E’tags’) GROUP BY taggings.tag_id HAVING COUNT(*) > 0 AND COUNT(taggings.tag_id) > 0) AS taggings ON taggings.tag_id […]

Rails找不到image_magick gem

我正在尝试使用image_magick gem来处理图像上传,但是rails无法找到它。 我使用以下方法成功安装了gem: gem install mini_magick-1.2.3.gem –local gem update system gem cleanup 我的模特有 require ‘rubygems’ require ‘mini_magick’ 但是,我仍然得到错误: no such file to load — mini_magick 我可以在environment.rb中添加一些内容来指向正确的位置吗? 环境信息: Windows XP/InstantRails 2.0 ruby 1.8.6 (2007-09-24 patchlevel 111) [i386-mswin32] Rails 2.3.2 谢谢您的帮助,

Gem安装错误的参数数量(给定1,预期为0)

当我运行bundle ,我得到以下内容: The `bundle’ command exists in these Ruby versions: 2.1.8 2.4.2 jruby-9.1.15.0 我的项目使用Ruby-2.5.1,所以我尝试使用gem install bundler更新我的gem install bundler ,但是我收到以下错误: ERROR: While executing gem … (ArgumentError) wrong number of arguments (given 1, expected 0) 使用–backtrace /Users/spencerbailey/.rbenv/versions/2.5.1/lib/ruby/site_ruby/2.5.0/rubygems/core_ext/kernel_require.rb:47:in `require’ /Users/spencerbailey/.rbenv/versions/2.5.1/lib/ruby/site_ruby/2.5.0/rubygems/installer.rb:162:in `initialize’ /Users/spencerbailey/.rbenv/versions/2.5.1/lib/ruby/site_ruby/2.5.0/rubygems/installer.rb:104:in `new’ /Users/spencerbailey/.rbenv/versions/2.5.1/lib/ruby/site_ruby/2.5.0/rubygems/installer.rb:104:in `at’ /Users/spencerbailey/.rbenv/versions/2.5.1/lib/ruby/site_ruby/2.5.0/rubygems/resolver/specification.rb:93:in `install’ /Users/spencerbailey/.rbenv/versions/2.5.1/lib/ruby/site_ruby/2.5.0/rubygems/request_set.rb:166:in `block in install’ /Users/spencerbailey/.rbenv/versions/2.5.1/lib/ruby/site_ruby/2.5.0/rubygems/request_set.rb:156:in `each’ /Users/spencerbailey/.rbenv/versions/2.5.1/lib/ruby/site_ruby/2.5.0/rubygems/request_set.rb:156:in `install’ /Users/spencerbailey/.rbenv/versions/2.5.1/lib/ruby/site_ruby/2.5.0/rubygems/commands/install_command.rb:251:in `install_gem’ /Users/spencerbailey/.rbenv/versions/2.5.1/lib/ruby/site_ruby/2.5.0/rubygems/commands/install_command.rb:301:in […]