Tag: ruby on rails 3

开始API缓存

有人能指出我正确的技术与缓存API响应有关。 我已经通过许多现有的问题,指南,post,但某些关键因素不能正常工作。 模型 class Cleartrip include HTTParty debug_output $stdout base_uri “api.staging.cleartrip.com/air/1.0/search” headers ‘X-CT-API-KEY’ => ‘xxxxxxxxxxxxxxxxxxxxxxxxxxx’ format :xml def self.get_flight(url) Rails.cache.fetch(url, :expires => 1.hour) do response = get(url) if response.success? response else raise response.message end end end end 调节器 @flight = Cleartrip.get_flight(“?from=DEL&to=BLR&depart-date=2014-08-10&adults=1&children=0&infants=0”) Development.rb config.cache_classes = false # Do not eager load code on boot. config.eager_load = […]

WEBrick rails服务器无法正常工作

我的操作系统是Windows 10 今天我安装了Ruby(ruby 2.2.3p173(2015-08-18修订版51636)[x64-mingw32])和rails gem(rails 4.2.4) 我正在按照一系列有关rails的教程video中的说明进行操作。 我安装了以下版本的myqsl 2(并在重新安装的情况下重新安装)mysql2-0.4.1-x64-mingw32 此问题适用于按照教程上的说明以下列方式创建的名为simple_cms的应用程序 rails new simple_cms -d mysql 我有: 运行bundle安装几次 用过的gem清理 运行bundle exec rails server 尝试rake db:create和bundle exec rake:db按照这里的建议创建每个方法 重新安装mysql2几次 但输入后 rails server 在我的项目simple_cms的根目录中。 WEBrick甚至没有开始 作为示例,在此处和此处的其他类似问题中,两个查询者都接收以下内容 => Booting WEBrick => Rails 3.2.13 application starting in development on http://0.0.0.0:3000 => Call with -d to detach => Ctrl-C to shutdown […]

在Rails 3问题中的Paginate

我目前正在研究一个我在Rails 2中编写的Reddit克隆应用程序,我正试图通过Rails 3中的新function加快速度。应用程序非常简单,它有一个Links scaffold,它有:url , :description , :points和:created_at 。 该应用程序路由到links#submissions ,您可以在其中查看所有提交的链接并提交新链接。 在提交页面上显示链接时,我在Rails 2中遇到了paginate方法的问题。 我目前正在运行Rails 3.2.3并且我理解我需要在Rails 3中使用gem will_paginate (我已经包含在我的Gemfile )但是每当我尝试拉出localhost:3000我都会收到以下错误消息: NoMethodError in LinksController#submissions… undefined method paginate for # 特别是在Links控制器的第90行。 这是我在LinksController.rb中的内容 (第90-93行)。 @link_pages, @Links = paginate :links, :order => order, :per_page => 20 @header_text = case ordering when ‘hot’ then ‘Top rated submissions’ when ‘new’ then ‘Latest […]

在模型中使用default_scope,按正确的instanceID进行过滤

我有两张桌子: books(id,name,desc,instance_id)实例(id,domain) 用户应该只能在记录中查看分配给其instance_id的数据… 对于书籍,模型,要实现这一点,我正在考虑使用默认范围..类似于: class Books ‘books.created_at DESC’ AND books.instance_id == current.user.instance_id end 对这个想法的任何想法? 另外我如何为Rails 3编写第二行到最后一行? ‘AND books.instance_id == current.user.instance_id’ 谢谢

在我的注册视图页面中我的collection_select有什么问题

我是rails的新手, 我正在使用ryan batesvideo教程的设计,而且,我一度陷入困境 我创建了用户,角色关系 在注册页面中,我需要为现有角色提供选择选项组, 在我正在写的注册视图页面 我没有准确理解collection_select方法,请帮助我可能做错了 我的模型1:user.rb class User < ActiveRecord::Base has_and_belongs_to_many :roles devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable attr_accessible :email, :password, :password_confirmation, :remember_me , :roles has_and_belongs_to_many :roles def role?(role) return !!self.roles.find_by_name(role.to_s.camelize) end end 我的模型2:role.rb class Role < ActiveRecord::Base attr_accessible :name has_and_belongs_to_many :users end 我的用户迁移文件 class DeviseCreateUsers false, :default => “” t.string :encrypted_password, […]

选择Active Record中的内部连接的所有列

在Ruby on Rails指南中,我看到了使用Joins的示例。 例如 Category.joins(:posts) 导致查询 SELECT categories.* FROM categories INNER JOIN posts ON posts.category_id = categories.id 这一切都很好,但是如何使用Active Record返回类别和post列? 或者我完全错过了SQL的东西?

如何使用邪恶进行validation?

我有一个users_controller和一个user_steps_controller,它有三个步骤:business,:payment和:login 在user.rb模型中 class User < ActiveRecord::Base validates_presence_of :fname, :lname, :email, :mob, :country, :state, :suburb, :postal ,:add end 在检查validation时,如果我放置一些随机值,那么它也会给出错误 Fname can’t be blank Lname can’t be blank Email can’t be blank Mob can’t be blank Country can’t be blank State can’t be blank Suburb can’t be blank Postal can’t be blank Add can’t be blank 请帮帮我 […]

电子邮件中的PDF附件称为“Noname”

当我发送附带pdf文件的电子邮件时,电子邮件只会显示一个名为“Noname”的文件。 文件本身是电子邮件的多部分部分,其中base64附加了pdf。 如何发送PDF以使其作为附件出现并且不会破坏电子邮件? 这是我的代码: attachments[‘126539_statistics.pdf’] = File.read(“app/assets/pdfs/126539_statistics.pdf”) mail(:to => email, :subject => subject, :body => message, :content_type => ‘application/pdf’)

如何根据子类的属性对父类进行排序?

我有一个简单的要求:我想根据子类的属性对父类进行排序。 class owner has_many :tasks end class task belongs_to :owner end 现在我想根据任务的截止日期对所有者进行排序,以便具有“最接近”截止日期的任务的所有者是第一个,等等 我可以用Ruby进行数组排序,但是我的记录集很大,我需要用AR / DBMS来做这个。 更新: 正如我在思考这个问题时,我想到了解决方案的一部分,尽管我不知道如何在AR中实现。 要根据所有者的任务对所有者进行排序,只有一个任务(每个所有者)是相关的,即具有最接近截止日期的任务。 我如何使用AR来获取所有所有者,按其最接近的截止日期排序? 更新2: Task.order(“due_date DESC”).maximum(“due_date”, :group => ‘owner’) 实际上会给我所有者对象,按照正确的顺序排序为有序哈希的一部分([owner] =>“due_date”)。 万岁! 现在唯一的问题是,如何告诉AR使用所有者对象eager_load所有相关任务。 因为此时我每次打电话都会发出一个查询 owner.tasks.each do |t| 在我看来。 任何帮助表示赞赏,我对此(简单?)问题感到困惑, 欧文

控制器和动作中定义的路径被忽略,Ruby on Rails

根据http://guides.rubyonrails.org/layouts_and_rendering.html 我应该能够在我的micropostscontroller中的创建操作中定义来自不同控制器的路径: def create @micropost = current_user.microposts.build(params[:micropost]) if @micropost.save flash[:success] = “Micropost created!” redirect_to profile_path else render ‘static_pages/profile’ end end 但是,当我创建post失败时(将其留空或使其太长),将呈现页面’/ microposts’,即控制器不存在的主页。 当我成功创建微博时,我被重定向到配置文件路径’/ profile’,当我将render ‘static_pages/profile’更改为redirect_to profile_path ,重定向工作。 为什么浏览器会忽略渲染请求并进入微博控制器主页? 此外,渲染的微博页面提供NoMethodError: NoMethodError in Microposts#create undefined method `name’ for nil:NilClass app/views/static_pages/profile.html.erb:16:in `_app_views_static_pages_profile_html_erb___1610169404003779010_70327969935820′ app/controllers/microposts_controller.rb:10:in `create’ 当重定向到配置文件时,配置文件可以自行呈现,因为在static_pages控制器中的配置文件操作中定义了@user。 @user = User.find_by_remember_token(cookies[:remember_token])