Tag: ruby on rails

警告:Nokogiri是针对LibXML 2.7.3版本构建的,但动态加载了2.7.8

在重新安装Mac OS X 10.8 Mountain Lion之后,安装了Ruby 1.9.3和Ruby on Rails 3.2.6之后,我启动了Rails控制台,并收到了以下警告消息: 警告:Nokogiri是针对LibXML 2.7.3版本构建的,但动态加载了2.7.8 我该如何解决?

已经激活的rake版本与Gemfile所需的版本不同,可以防止rake命令

这是我的错误: rake aborted! Gem::LoadError: You have already activated rake 10.3.1, but your Gemfile requires rake 10.2.2. Prepending `bundle exec` to your command may solve this. /Users/AaronWilliamson/.gem/ruby/2.1.0/gems/bundler-1.5.3/lib/bundler/runtime.rb:34:in `block in setup’ /Users/AaronWilliamson/.gem/ruby/2.1.0/gems/bundler-1.5.3/lib/bundler/runtime.rb:19:in `setup’ /Users/AaronWilliamson/.gem/ruby/2.1.0/gems/bundler-1.5.3/lib/bundler.rb:119:in `setup’ /Users/AaronWilliamson/.gem/ruby/2.1.0/gems/bundler-1.5.3/lib/bundler/setup.rb:7:in `’ /Users/AaronWilliamson/Desktop/Ripelist-Classifieds/config/boot.rb:4:in `’ /Users/AaronWilliamson/Desktop/Ripelist-Classifieds/config/application.rb:1:in `’ /Users/AaronWilliamson/Desktop/Ripelist-Classifieds/Rakefile:4:in `’ LoadError: cannot load such file — bundler/setup /Users/AaronWilliamson/Desktop/Ripelist-Classifieds/config/boot.rb:4:in `’ /Users/AaronWilliamson/Desktop/Ripelist-Classifieds/config/application.rb:1:in `’ /Users/AaronWilliamson/Desktop/Ripelist-Classifieds/Rakefile:4:in `’ (See […]

类别和子类别模型轨道

如果不使用任何gem,我如何在rails中执行此操作? 主要类别 子类别 子类别 子类别 主要类别 子类别 子类别 子类别 主要类别 子类别 子类别 子类别 我有一个由|组成的表 id | level1 | level2 | 1级是主要类别,2级是子类别 我想在上面的视图中显示它。 在互联网上四处看看之后,每个人似乎都建议使用类似行为的gem,但我想避免使用它们,因为我对rails很新,我想了解如何做事而不是转向gem。 你的帮助很大 模型: class Category “Category”, :foreign_key => “parent_id”, :dependent => :destroy belongs_to :parent_category, :class_name => “Category” end 控制器: class CataloguesController < ApplicationController layout 'main' def index @cats = Catalogue.all end def categories […]

有没有办法使用rails form helper来生成用于提交的按钮标记

我正在尝试创建按钮ala Wufoo( 重新发现按钮元素 ) 我想写下面的代码如下: :get, :class => ‘search’ do %> nil-%> 生成以下HTML(而不是输入[type =“submit”]标记) Save 方法是否已存在? 或者我应该自己动手帮手?

如何只渲染相同日期的音符?

我们怎样才能每天只显示一个音符,而不是每天显示所有音符,而是音符的注释note.note_date == date ? Day 1: Notes/notes # Shows both Day 1 and Day 3 note. Only want to show Day 1 note Day 2: Notes/form Day 3: Notes/notes # Shows both Day 1 and Day 3 note. Only want to show Day 3 note Day 4: Notes/form Day 5: Notes/form 挑战/节目 Day date %> […]

Rspec表示,为什么机架式磁盘不能过滤传入的请求

我希望我的Rails 5 API专用应用程序,现在运行在http://localhost:3000 ,只接受来自我的NodeJS前端应用程序的请求,现在运行在http://localhost:8888 。 所以我像这样配置了/config/initializers/cors.rb : Rails.application.config.middleware.insert_before 0, Rack::Cors do allow do origins “http://localhost:8888” resource “*”, headers: :any, methods: [:get, :post, :put, :patch, :delete, :options, :head] end end 我写了这个测试: #/spec/request/cors_request_spec.rb RSpec.feature “CORS protection”, type: :request do it “should accept a request from a whitelisted domain” do get “/api/v1/bodies.json”, nil, “HTTP_ORIGIN”: “http://localhost:8888” expect(response.status).to eql(200) end […]

如何在ember中链接到特定的rails API路由和服务器生成的内容?

我有一个混合的Ember / Rails应用程序,在API命名空间中有一个Rails路由来获取任何单个事件并将其转换为.ics文件以导入到用户的日历中( 这是一个问题 )。 Ember正在使用命令ember server –proxy http://localhost:3000 ,它将它连接到Rails服务器进程。 以下片段说明了我的设置: Rails routes.rb片段: namespace :api do # snip resources :events do # snip get ‘export_event_ical’, on: :member end end Rails events_controller.rb片段: def export_event_ical @event = Event.find(params[:id]) @calendar = Icalendar::Calendar.new ical_event = Icalendar::Event.new ical_event.dtstart = @event.start.strftime(“%Y%m%dT%H%M%S”) ical_event.dtend = @event.start.strftime(“%Y%m%dT%H%M%S”) ical_event.summary = @event.body.truncate(50) ical_event.description = @event.body # […]

ruby – 重构if else语句

我已经尝试阅读一些关于重构的教程,我正在努力解决条件问题。 我不想使用三元运算符,但也许这应该在方法中提取? 或者有一种聪明的方式来使用地图吗? detail.stated = if value[:stated].blank? nil elsif value[:stated] == “Incomplete” nil elsif value[:is_ratio] == “true” value[:stated] == “true” else apply_currency_increment_for_save(value[:stated]) end

将foreign_key值传递给Rails控制器的更好方法

自从我开始深入挖掘forms,联想,哈希,符号以来已经差不多一个星期……但似乎没有你的帮助我无法解决这个难题。 我正在开展一个展示不同画廊内容的项目。 基本思想是当用户看到画廊的名称(名称是链接)时能够点击所选择的名称。 然后显示属于此库的所有图像。 在底部应该有一个链接“在此库中添加图像”。 我的模特: class Gallery < ActiveRecord::Base attr_accessible :name has_many :pictures end class Picture < ActiveRecord::Base attr_accessible :image belongs_to :gallery end 我在gallery_id上为’pictures’表创建了索引。 我的大问题出现在这里,如何将gallery_id传递给控制器​​的动作’new’。 正如我在“使用Rails进行敏捷Web开发”中看到的那样,它可能是: @ gallery.id)%> 在这种情况下,似乎foreign_key:gallery_id公开在浏览器的URL栏中。 第二个问题是:gallery_id可用于控制器的“新”function,但“创建”function“消失”(导致错误“无法找到没有ID的图库”)。 当我在图片的_form中添加隐藏字段时,问题就消失了,在我的情况下: params[:gallery_id] %> 以下是我在“图片”控制器中的定义: def new @gallery=Gallery.find(params[:gallery_id]) @picture=@gallery.pictures.build end def create @gallery = Gallery.find(params[:gallery_id]) @picture = @gallery.pictures.new(params[:picture]) if @picture.save redirect_to(@picture, :notice => ‘Picture was […]

订阅条纹

我已经阅读了这篇https://stripe.com/docs/tutorials/subscriptions,但并不真正理解有关实现的订阅的想法。 我需要的是给用户充电,但是我自己计算充电量,因为我有一个特殊的算法。 所以这段代码: # create a plan – once! Stripe::Plan.create( :amount => 2000, :interval => ‘month’, :name => ‘Amazing Gold Plan’, :currency => ‘cad’, :id => ‘gold’ ) # every month? or also once? maybe_customer = Stripe::Customer.retrieve(….) unless maybe_customer customer = Stripe::Customer.create( :card => token, :plan => “gold”, :email => “payinguser@example.com” ) end 什么时候(多久一次)我必须运行它:只有一次或每个月( :interval […]