Tag: ruby on rail

耙子db:种子耙子中止了! ActiveRecord :: RecordInvalid:validation失败:已经收到电子邮件

我是OneMonth学习条纹支付的初学者。 现在,我正在学习如何创建产品表并为数据库设定种子。 到目前为止,一切顺利,直到我在运行rake db:seed后遇到问题 Davids-MBP-2:one_month_stripe_payments DKP $ rake db:seed rake aborted! ActiveRecord :: RecordInvalid:validation失败:已收到电子邮件 /Users/DKP/.rvm/gems/ruby-2.3.0@global/gems/activerecord-4.2.5/lib/active_record/validations.rb:79:in raise_record_invalid’ /Users/DKP/.rvm/gems/ruby-2.3.0@global/gems/activerecord-4.2.5/lib/active_record/validations.rb:43:in save!’ /Users/DKP/.rvm/gems/ruby-2.3.0@global/gems/activerecord-4.2.5/lib/active_record/attribute_methods/dirty.rb:29:in save!’ /Users/DKP/.rvm/gems/ruby-2.3.0@global/gems/activerecord-4.2.5/lib/active_record/transactions.rb:291:in save!’ /Users/DKP/.rvm/gems/ruby-2.3.0@global/gems/activerecord-4.2.5/lib/active_record/transactions.rb:291:in block in save!’ /Users/DKP/.rvm/gems/ruby-2.3.0@global/gems/activerecord-4.2.5/lib/active_record/transactions.rb:351:in block in with_transaction_returning_status’ /Users/DKP/.rvm/gems/ruby-2.3.0@global/gems/activerecord-4.2.5/lib/active_record/connection_adapters/abstract/database_statements.rb:213:in gems中的block in with_transaction_returning_status’ /Users/DKP/.rvm/gems/ruby-2.3.0@global/gems/activerecord-4.2.5/lib/active_record/connection_adapters/abstract/database_statements.rb:213:in在事务’/Users/DKP/.rvm/gems/ruby-2.3中的block in with_transaction_returning_status’ /Users/DKP/.rvm/gems/ruby-2.3.0@global/gems/activerecord-4.2.5/lib/active_record/connection_adapters/abstract/database_statements.rb:213:in块中。 0@global/gems/activerecord-4.2.5/lib/active_record/connection_adapters/abstract/transaction.rb:184:in within_new_transaction’ /Users/DKP/.rvm/gems/ruby-2.3.0@global/gems/activerecord-4.2.5/lib/active_record/connection_adapters/abstract/database_statements.rb:213:in事务’/Users/DKP/.rvm/gems/ruby-2.3.0@global/gems/activerecord-4.2.5/lib/ active_record / transactions.rb:220:在transaction’ /Users/DKP/.rvm/gems/ruby-2.3.0@global/gems/activerecord-4.2.5/lib/active_record/transactions.rb:348:in with_transaction_returning_status’ /Users/DKP/.rvm/gems/ruby-2.3.0@global/gems/activerecord-4.2.5/lib/active_record/transactions.rb:291:in save!’ /Users/DKP/.rvm/gems/ruby-2.3.0@global/gems/activerecord-4.2.5/lib/active_record/persistence.rb:51:in save!’ /Users/DKP/.rvm/gems/ruby-2.3.0@global/gems/activerecord-4.2.5/lib/active_record/persistence.rb:51:in create!’ /Users/DKP/Desktop/one_month/one_month_stripe_payments/db/seeds.rb:8:in ‘ /Users/DKP/.rvm/gems/ruby-2.3.0@global/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:268:in […]

Rails:未定义的方法’paginates_per’

我正在将一个名为Carrier https://github.com/stanislaw/carrier/blob/master/Gemfile的gem安装到Rails 3.2.1应用程序中。 它使用Kaminari,当我在我的Gemfile中添加gem“carrier”后进行捆绑安装时,它显示我正在使用kaminari Using kaminari (0.13.0) 但是,当我尝试rake db:migrate时,我收到了这个错误 rake aborted undefined method `paginates_per’ for Carrier::Chain(Table doesn’t exist):Class 任何人都可以建议修复此问题吗? 我已经从下面的Carrier gem中复制了gemfile,并在下面复制了我自己的应用程序的Gemfile (Carrier gem Gemfile)源码“http://rubygems.org” gem ‘require_all’ gem ‘kaminari’ gem ‘unread’ gem ‘sugar-high’ gem ‘sweetloader’ group :development, :test do gem ‘rails’, ‘~> 3.1.0’ gem ‘unicorn’ gem ‘mysql2’ gem ‘devise’ gem ‘rake-kit’ gem ‘cutter’ gem “jeweler”, “>= […]

在为Devise中的用户做手动sign_in时,你怎么设置记住我是?

在Devise中 ,我正在以这样的方式登录我的用户: sign_in_and_redirect(:user, user) 在默认登录页面中,有一个用户可以选择的复选框,以便他们在返回站点时不必再次登录。 但是,当您使用sign_in_and_redirect(:user, user)行登录时,我无法确定如何将该参数设置为yes。 有谁知道怎么样? 谢谢阅读。

在Rails中无缝部署

我想无缝升级我的Rails应用程序: 含义: 如果不需要运行迁移,我希望透明地升级代码,并且在部署期间没有请求404。 这很难我想要一些可以无缝升级数据库的进程,并且在此期间只需要在db更新完成后暂停Web请求(在管道中排队),允许通过。 (我只需要这个就可以进行短暂的迁移 – 比如5-10秒的迁移)。 你会如何实现这一目标?

carrierwave,Excon :: Errors :: MovedPermanently in RegistrationsController #update error

我一直试图让carrierwave与amazon s3合作。 代替 storage :s3 我有 storage :fog 将其更改为存储:s3立即出错 https://stackoverflow.com/questions/10629827/carrierwave-cant-convert-nil-into-string-typeerror-when-using-s3 所以我把它改成了存储:像下面的rdoc所说的雾。 http://rubydoc.info/gems/carrierwave/frames 然而,当我尝试上传图像时,我得到了这个疯狂的错误。 我正在使用设计gem。 我的完整堆栈跟踪是 Excon::Errors::MovedPermanently in RegistrationsController#update Excon::Errors::MovedPermanently (Expected(200) Actual(301 Moved Permanently) request => {:connect_timeout=>60, :headers=>{“Content-Length”=>95472, “Content-Type”=>”image/jpeg”, “x-amz-acl”=>”private”, “Cache-Control”=>”max-age=315576000”, “Date”=>”Thu, 17 May 2012 05:28:55 +0000”, “Authorization”=>”AWS AKIAIN6SC3YSGBSUKV4Q:kZOG9mG01jYn48ImFMYbgxAAQRk=”, “Host”=>”user.a.777.s3-eu-west-1.amazonaws.com:443″}, :instrumentor_name=>”excon”, :mock=>false, :read_timeout=>60, :retry_limit=>4, :ssl_ca_file=>”/Users/sasha/.rvm/gems/ruby-1.9.3-p125/gems/excon-0.13.4/data/cacert.pem”, :ssl_verify_peer=>true, :write_timeout=>60, :host=>”user.a.777.s3-eu-west-1.amazonaws.com”, :path=>”/uploads%2Fuser%2Fimage%2F59%2Fidea.jpg”, :port=>”443″, :query=>nil, :scheme=>”https”, :body=>#, :expects=>200, :idempotent=>true, :method=>”PUT”} […]

rake / rails .save! 没有更新数据库

我试图通过rake任务保存对数据库的更改。 在我的rake任务中,我做了类似的事情: namespace :parts do desc “Update Parts table, swap names in title” task :swap => :environment do Part.swap end end 在我的Part课程中,我做了 def self.swap Part.all.each do |part| if (part.title =~ REGEX) == 0 part.title.gsub! REGEX, ‘\2 \1’ puts part.title part.save! end end end 但是,这并没有保存部分。 save! 确实回归真实。 puts part.title确实返回了我想要的值。 如果我打电话 Part.update(part.id, title: part.title) 数据库正确更新。 为什么是这样? 我在循环中做错了吗? […]

ice_cube和recurring_selectgem和事件

我正在尝试利用ice_cube和recurring_selectgem的[超棒]function来处理重复发生的事件。 我的数据库中有一个schedule (text)列,事件模型中有以下内容: def schedule=(new_schedule) write_attribute(:schedule, RecurringSelect.dirty_hash_to_rule(new_schedule).to_yaml) end def converted_schedule Schedule.from_yaml(self.schedule, :start_date_override => self.start_date) end 查看psql中的schedule列,它似乎正确地存储了日程表。 这是我的表格: .control-group = f.label ‘Date’, :class => ‘control-label’ .controls = f.text_field :start_date, :class => ‘datepicker’ .control-group = f.label ‘Recurring?’, :class => ‘control-label’ .controls = f.select_recurring :schedule, :allow_blank => true 但是,当我尝试输出converted_schedule ,它只显示开始日期,不会显示任何其他日期。 我有一些怀疑,我没有成功修改…也许YAML没有正确转换为converted_schedule方法? 也许我需要一个结束日期(我不知道recurring_select上有哪些function可用)?

Rake aborted使用faker为ruby项目上传图像

我正在关注Ruby on Rails指南并遇到使用gem“Faker”生成虚假内容的问题。 我安装了faker并按照说明将用户和照片填充到我的项目中。 我在lib / tasks / populate.rake中创建了这个文件 LIB /任务/ populate.rake namespace :db do desc “Fill database with sample data” task populate: :environment do 10.times do |n| puts “[DEBUG] creating user #{n+1} of 10” name = Faker::Name.name email = “user-#{n+1}@example.com” password = “password” User.create!( name: name, email: email, password: password, password_confirmation: password) end User.all.each […]

测试Ruby on Rails

有没有可以在线测试Ruby on Rails的地方? 主要测试从模型中获取数据。 寻找类似于http://jsfiddle.net/的东西。

Rails基于自定义REST方法生成的辅助路径失败

除了Rails默认定义的路由之外,还希望将自定义路由定义到某些资源。 为此,我的routes.rb文件的相关部分看起来像这样: resource :top, only: [:show] scope module: :top do resource :reso, only: [:show] end get ‘foo_reso’ => ‘top/reso#foo’ get ‘bar_reso’ => ‘top/reso#bar’ 如您所见,我只想要路由到ResoController的方法show , foo和bar 。 这有效,因为rake routes给出: reso GET /reso(.:format) top/reso#show foo_reso GET /foo_reso(.:format) top/reso#foo bar_reso GET /bar_reso(.:format) top/reso#bar 这样做:单击应用程序中的一个链接,将您带到路径foo_reso会导致调用ResoController#foo ,并随后显示相关视图。 但是,我认为路由定义只是稍微丑陋,而不是定义路由明确,希望Rails通过告诉它资源有两个额外的REST方法foo和bar来自动生成它们(同时仍然限制标准方法only:手段only:参数)。 我按照这个答案的建议,并将routes.rb更改为: resource :top, only: [:show] scope module: :top do resource :reso, […]