Tag: ruby on rail

无法弄清楚Delayed :: DeserializationError

我正在使用Rails 3.2.12运行delayed_job 3.0.5(delayed_job_active_record 0.4.1)。 由于“反序列化”,我的一些工作失败了。 以下是其中一个失败处理程序的一个非常简单的示例: — !ruby/struct:Delayed::PerformableMethod object: LOAD;Project;924951 method: :send_project_open_close_without_delay args: [] 当我尝试调用这个工作时: Delayed::DeserializationError: Job failed to load: undefined method `members’ for nil:NilClass. 每个人似乎都认为这是由不再存在的AR对象引起的。 就我而言,我可以运行处理程序: Project.find(924951).send_open_close_without_delay 还有什么可能导致错误?

单波模型的载波多重上传器

我已经在本教程https://kolosek.com/carrierwave-upload-multiple-images/的帮助下创建了一个库模块,现在我想再添加一个图像属性,将主图像添加到同一个模型中。 所以我提出再创建一个上传器,但我对如何调用控制器可以帮助我的人有点困惑? 我的代码如下所示: MOdel代码: class Image < ApplicationRecord belongs_to :gallery mount_uploader :image, ImageUploader mount_uploader :avatar, AvatarUploader end class Gallery < ApplicationRecord has_many :images accepts_nested_attributes_for :images end gallery_controller.rb class GalleriesController a, :gallery_id => @gallery.id) end format.html { redirect_to @gallery, notice: ‘Gallery was successfully created.’ } format.json { render :show, status: :created, location: @gallery } else format.html […]

为什么我的服务没有被正确声明?

我正在使用Stripe为我的应用创建付款服务。 我有: #app/services/service_error.rb class PaymentGateway::ServiceError < StandardError attr_reader :exception_message def initialize(message, exception_message: ) # Call the parent's constructor to set the message super(message) # Store the exception_message in an instance variable @exception_message = exception_message end end class PaymentGateway::CreateSubscriptionServiceError < PaymentGateway::ServiceError end 在我的控制器中我试图运行它: #app/controller/subscriptions_controller.rb class SubscriptionsController < ApplicationController rescue_from PaymentGateway::CreateSubscriptionServiceError do |e| redirect_to root_path, alert: e.message […]

我如何使用Rails和Devise重定向到不同的注销路径

我正在使用rails3和gem devise,我有两个角色管理员和客户,我想要用户之后 注销管理员应该重定向到不同的路径,客户应该重定向到不同的路径 退出时……

命名空间内的浅路由:path param不起作用

此路线设置 namespace :api, path: nil, except: [:new, :edit] do resources :blogs do resources :comments end end 给了我这个,没关系。 GET /blogs/:blog_id/comments(.:format) api/comments#index POST /blogs/:blog_id/comments(.:format) api/comments#create GET /blogs/:blog_id/comments/:id(.:format) api/comments#show PATCH /blogs/:blog_id/comments/:id(.:format) api/comments#update DELETE /blogs/:blog_id/comments/:id(.:format) api/comments#destroy GET /blogs(.:format) api/blogs#index POST /blogs(.:format) api/blogs#create GET /blogs/:id(.:format) api/blogs#show PATCH /blogs/:id(.:format) api/blogs#update DELETE /blogs/:id(.:format) api/blogs#destroy 但是当我在上面的设置中添加“shallow:true”时 namespace :api, path: nil, except: [:new, :edit] […]

实施安全问题

我正在使用设计进行登录过程。 现在我的要求是: *用户将在注册期间输入一些问题的答案。 当用户使用他的电子邮件和密码登录时,他将被问及这些安全问题。 如果答案是正确的,他将被定向到仪表板,否则如果他没有回答(3分中的2分),那么该帐户将被锁定。* 有没有简单的方法在Rails中实现这个MFA? 提前致谢..

Rails 2.3.5:如何获取路由名称

在我的应用程序routes.rb我定义了三个路由,如下所示 map.signup ‘/signup’, :controller => ‘users’, :action => ‘new’ map.login ‘/login’, :controller => ‘sessions’, :action => ‘new’ map.logout ‘/logout’, :controller => ‘sessions’, :action => ‘destroy’ 我可以获取特定路径的控制器和操作名称吗? 我正在寻找像这样的方法…… def current_routes(a) end 应该返回:controller => ‘users’, :action => ‘new’如果我调用current_routes(‘signup_path’)

自定义设计api令牌身份validation

使用令牌身份validation查找注册用户的最佳方法是什么? 我目前的方式是查询数据库以获取应用程序发送以访问api的令牌。 例如’user = User.where(:authentication_token => params [:authtoken])。first’。 这样安全吗? 我见过使用warden.authenticate的代码和执行ff的另一个代码:客户端发送电子邮件和authtoken。 然后,它使用电子邮件查找用户,然后与发送的令牌以及在db电子邮件查询中找到的用户的令牌进行设计安全比较。 这是设计令牌可validation要点中的解决方案,用于滚动您自己的令牌身份validation。 我是否应该在每个请求中发送电子邮件和令牌?

如何使.liquid文件在Rails 3中工作

我正在使用Rails 3.0.9。 我试图使用液体,我收到一个错误。 这是我的Gemfile source ‘http://rubygems.org’ gem ‘rails’, ‘3.0.9’ gem ‘sqlite3’ gem ‘liquid’ 这是一个初始化程序 class LiquidView PROTECTED_ASSIGNS = %w( template_root response _session template_class action_name request_origin session template _response url _request _cookies variables_added _flash params _headers request cookies ignore_missing_templates flash _params logger before_filter_chain_aborted headers ) PROTECTED_INSTANCE_VARIABLES = %w( @_request @controller @_first_render @_memoized__pick_template @view_paths @helpers @assigns_added @template […]

Rails单表inheritance(STI)的替代方案?

我有一个模型和桌子,我相信它非常适合STI。 我的表叫做Finances ,有两种类型:收入和支出。 除了type还有其他三列: description , amount和date 。 我在Rails中使用STI时非常紧张,因为它需要一些黑客攻击。 我太新了Rails来破解代码。 即使它有效,我也不明白。 这似乎很危险。 我的问题是,如果我不使用STI,如何设置我的模型,控制器和视图? 在模型中对项目进行分组的最佳做法是什么? 或者我在设置视图之前只做Finances.where(“type = ‘Income'”) ? 编辑:我做了一个要点,以显示我正在使用的代码。 当我运行它时,我收到错误: undefined method `incomes_path’ for #<#:0x007fbc93883220>