Tag: ruby on rails 4

ChartKick在PIE和折线图中显示原始值而非百分比

我有类似的数据 graph_data = { “Commercial”=>364, “Residential”=>463, “Hospitality”=>150, “Industrial”=>20, “Laboratory”=>1 } pie_chart graph_data 当我在饼图中添加它时,它显示每个选项的百分比图表,我想显示值而不是百分比,我怎么做, 我正在使用Chartkick gem和ruby on rails 4

将两个不同的ActiveRecord集合合并为一个

我想创建所有公司活动的视觉时间表。 时间轴的HTML是使用loop构建的。 为简单起见,我们假设有两种模式Hire & Deal 。 两个模型都具有date属性和一些模型特定属性。 如何合并两个模型的ActiveRecord结果,然后按date对组合的哈希进行order将其组合成一个我可以循环的哈希?

覆盖gem的lib文件夹中的私有方法

spree-auth-devise gem中有一个私有方法。 该方法位于控制器UserSessionsController内部https://github.com/spree/spree_auth_devise/blob/master/lib/controllers/frontend/spree/user_sessions_controller.rb 我希望覆盖函数“redirect_back_or_default”。 这可能吗? 更新 在您的答案混合和匹配并进行一些谷歌搜索后,我得出了这个解决方案: Spree::UserSessionsController.class_eval do private def redirect_back_or_default(default) if default == “/admin/orders” or session[“spree_user_return_to”] == “/admin/orders” redirect_to(“/admin/users”) else redirect_to(session[“spree_user_return_to”] || default) end session[“spree_user_return_to”] = nil end end 我已将脚本文件放在config / initializers中。 谢谢你们。

如何从用户控制器中删除设备用户

有没有办法从用户控制器中销毁用户? 我确实在routes.rb定义了users resource ,并且还有Users Controller方法 def destroy @user.destroy head :no_content end 然而,这会产生以下错误: undefined method `handle_dependency’ for # 我正在尝试找出此错误代表的内容以及适当的修复方法。 可能是什么原因? 用户模型 class User :before_add_method # Include default devise modules. Others available are: # :confirmable, :lockable, :timeoutable and :omniauthable devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable, :confirmable, :omniauthable has_many :venues, dependent: :destroy has_many :from_user_chats, :foreign_key => ‘from_user_id’, […]

如何根据多对多关系选择用户子集?

User和Organization通过Relationship具有多对多关联。 Relationship模型中的一个变量是一个名为member的布尔值。 user可以多次出现在Relationship模型中,因为user可以与多个organizations相关联。 如何从1)与任何organization没有关系的所有users中选择随机实例(因此不要出现在Relationship模型中)加上2)与组织有关系但与谁有关系的users member = false表示他们与组织的所有关系? 我想的是: user = User.where( relationship_id = nil || ??? ).offset(rand(0..100)).first

使用fixture_file_upload方法Rails 4 Rspec

我正在使用FactoryGirl和Rspec测试我的Image对象的创建。 我正在使用我正在使用的 photo { File.new(File.join(Rails.root, ‘spec/fixtures’, photo_name)) } 但我突然间得到了 Paperclip::AdapterRegistry::NoHandlerError: No handler found for “# 所以在阅读各种post之后我已经改为fixture_file_upload方法,但是在创建对象时遇到了麻烦。 images.rb include ActionDispatch::TestProcess FactoryGirl.define do factory :image do transient do photo_name ‘validated_image.jpg’ end photo { fixture_file_upload(Rails.root.join(‘spec’, ‘fixtures’, photo_name), ‘image/jpeg’) } end 虽然最初我试过这个,因为我的rails_helper声明了夹具路径 photo { fixture_file_upload photo_name, ‘image/jpeg’ } # config.fixture_path = “#{::Rails.root}/spec/fixtures” # rails_helper # Would produce error ‘validated_image.jpg […]

如何重用查询结果,以便在不使用全局或会话变量的情况下更快地导出到csv和xls

我有一个function,最初以HTML(报告)显示结果,然后可以导出为CSV和XLS 我们的想法是重用用于呈现HTML的查询的结果,以导出相同的记录,而无需再次重新运行查询 最接近的实现是:将结果存储在全局变量$ last_consult中 我在Ruby控制器中有以下INDEX方法 def index begin respond_to do |format| format.html { @filters = {} @filters[’email_enterprise’] = session[:enterprise_email] ; # Add the selected filters if (params[:f_passenger].to_s != ”) @filters[‘id_passenger’] = params[:f_passenger] ; end if (session[:role] == 2) @filters[‘cost_center’] = session[:cc_name] end # Apply the filters and assign them to $last_consult that is used $last_consult […]

如何使用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) 有谁知道我可能做错了什么? (我尝试使用设计维基中的说明,但我也无法以这种方式工作)。

Rails为has_and_belongs_to_many关系路由

我正在为一个运动队工作一个rails 4 API,我有球员和球队,而且我在使用rails routing和has_many关系方面有点挣扎。 我和球员之间的关系看起来像: class Team < ActiveRecord::Base extend Searchable validates :title, presence: true has_and_belongs_to_many :players end class Player < ActiveRecord::Base extend Searchable validates :first_name, presence: true validates :last_name, presence: true has_and_belongs_to_many :teams end 我希望能够将现有的玩家添加到团队中,但我不确定如何更改我的routes.rb文件。 目前,它看起来像: Rails.application.routes.draw do devise_for :users namespace :api, defaults: { format: :json }, constraints: { subdomain: ‘api’ }, path: ‘/’ […]

RSpec – 无法写入未知属性(枚举)

型号用户: class User < ActiveRecord::Base enum my_enum: [ :some_value1, #…. ] 我还有一个迁移,它将my_enum添加到用户: def change add_column :users, :my_enum, :integer end FactoryGirl的夹具: FactoryGirl.define do factory :user do email { Faker::Internet.email } password { Faker::Internet.password(10) } password_confirmation { password } my_enum { nil } end end 一切正常。 但是当我运行测试时,我收到一个错误: Failure/Error: paid_user = FactoryGirl.create(:user) ActiveModel::MissingAttributeError: can’t write unknown attribute `my_enum`