Tag: ruby on rail

条带标记未附加到Rails App的请求主体

我正在制作一个Rails应用程序,允许用户以$ X / yr成为订阅用户,我被困在订阅页面上,无论我做什么,stripeToken都没有附加到请求和CreateSubscription.rb说“这个客户没有附加付款来源“。 我的turbolinks被禁用了。 我的条带日志说它收到POST主体的请求:电子邮件:“raf6000@gmail.com”计划:“praducks-annual”但错误被抛出如下 – 因为没有源对象附加到请求 – 错误:键入:“invalid_request_error”消息:“此客户没有附加的付款来源” CreateSubscription.rb class CreateSubscription def self.call(plan, email_address, token) user, raw_token = CreateUser.call(email_address) subscription = Subscription.new( plan: plan, user: user ) begin stripe_sub = nil if user.stripe_customer_id.blank? puts “Customer is new” puts token.nil? customer = Stripe::Customer.create( source: token, email: user.email, plan: plan.stripe_id, ) user.stripe_customer_id = customer.id user.save! […]

在创建新卡之前,我是否可以检查卡片是否已经存在?

因为我已经在我的数据库中保存了条带客户ID以便以后付款。 在这里,客户将拥有多张卡片,我希望使用该特定客户的现有卡片检查/validation客户卡。 假设相同的卡详细信息存储多次作为多张卡。 在这个过程中,我想用令牌检查这张卡是否已经存在。 将使用它如果已经存在,如果没有将创建新卡。

Ruby on Rails RVM $ PATH问题

使用https://rvm.beginrescueend.com/rvm/install/安装ruby(ruby 1.9.2p290)&gems(没问题),然后通过gem install rails (Rails 3.2.0) gem install rails 。 但是当我尝试在我的/ user目录以外的另一个目录中创建一个rails应用程序(或发出rails -v )时,我得到“程序’rails’当前没有安装。你可以通过键入来安装它:sudo apt-get install rails“我也注意到,如果我发出ruby -v,我会得到”程序’ruby’目前尚未安装。您可以通过输入以下sudo apt-get install ruby安装它: sudo apt-get install ruby “。 显然,这是一个$ PATH问题,但是由于我不得不这么做,所以我完全忘记了如何解决这个问题。 我认为这是一个简单的解决办法,但我现在感觉边缘迟钝,如何解决这个问题。 再说一遍,据我所知,只要我创建一个应用程序或发出命令版本命令……等等我的/用户目录一切顺利。 一些可能有用的东西: which rails给了我:/home/j3/.rvm/gems/ruby-1.9.2-p290/bin/rails which ruby给了我:/home/j3/.rvm/rubies/ruby-1.9.2-p290/bin/ruby 先谢谢,吉姆

使用Devise添加额外的注册字段

我正在尝试为注册#new添加一些额外的字段。 由于我只需要额外的数据而且不需要不同的function,我不明白为什么我需要覆盖控制器等。所以我做的是修改注册#new如下: 要通过清理程序启用这些额外的字段,我更新了ApplicationController,如下所示: 由于某种原因,它不起作用,额外的字段作为空值进入数据库。 我使用的是Ruby 2和Rails 4 rc1,以及Devise 3.0.0.rc.

rails 3 + devise:如何修改邮件方法以确认电子邮件添加用户的第二个电子邮件地址

背景:在我们的应用程序中,我们经常有销售代表使用销售人员的计算机为我们的客户进行设置(通常客户在我们设置它们时无法访问他们的电子邮件)。 因此,我们正在考虑在销售代表的电子邮件地址的设计注册表中添加一个字段,并将确认链接也转到该电子邮件地址。 问题:有没有办法告诉设计bcc(或cc)初始确认电子邮件( 只有初始确认电子邮件 )到新用户注册表上也提供的(可选)“backup_email”电子邮件地址? 或者,有没有办法’禁用’确认电子邮件过程,但只有当某个代码输入注册字段时? 我知道如何在设计注册表单中添加另一个字段,但是我没有看到如何/在哪里修改设计邮件代码,所以当确认电子邮件发送到“电子邮件”地址时它也会转到“backup_email”地址(如果有的话,有时它是空白的)。 感谢Johnny Grass! 我做了rails generate mailer CustomerUserMailer并添加了 #config/initializers/devise.rb config.mailer = “CustomUserMailer” 我的自定义邮件看起来像: # app/mailers/customer_user_mailer.rb class CustomUserMailer translate(devise_mapping, action), :from => mailer_sender(devise_mapping), :to => resource.email, :cc => resource.backup_user_email(action), :template_path => template_paths } end end 然后我将3个邮件模板FROM views/devise/mailer到views/customer_user_mailer (否则电子邮件为空) 然后我在我的User模型中添加了一个名为backup_user_email()的方法,该方法根据用户记录和操作中的数据返回“备份”电子邮件地址(如果有)。 唯一的“技巧”是,当测试action它不是action == “confirmation_instructions”它是action == :confirmation_instructions 。

让工作延迟记录

#Here is how I have delayed job set up. Delayed::Worker.backend = :active_record #Delayed::Worker.logger = Rails.logger Delayed::Worker.logger = ActiveSupport::BufferedLogger.new(“log/ ##{Rails.env}_delayed_jobs.log”, Rails.logger.level) Delayed::Worker.logger.auto_flushing = 1 class Delayed::Job def logger Delayed::Worker.logger end end if JobsCommon::check_job_exists(“PeriodicJob”).blank? Delayed::Job.enqueue PeriodicJob.new(), 0, 30.seconds.from_now end #end #Here is my simple job. class PeriodicJob def perform Rails.logger.info “Periodic job writing #{Time.now}” Delayed::Job.enqueue PeriodicJob.new(), 0, […]