Tag: 的Ruby on 轨道

Chrome会多次发送请求

我有一个Rails 3应用程序,只是注意到当使用Chrome(在Mac上)访问该应用程序时,网站上的每个页面都被请求两次。 这是在开发和生产(Heroku)中发生的。 Firefox和Safari仅发送一次请求。 即使我删除了操作的所有布局和内容,行为也是一样的。 好像有一个MIME类型问题。 有人解决了这个问题吗? class PagesController ‘a’, :layout => false end 这是服务器登录开发: 在2010年12月13日星期一10:33:33 -0800开始获取127.0.0.1的“/” 由PagesController#home作为HTML处理 渲染文本模板(0.0ms) 2ms内完成200 OK(浏览次数:1.3ms | ActiveRecord:0.8ms) 在2010年12月13日星期一10:33:33 -0800开始获取127.0.0.1的“/” 由PagesController处理#home为* / * 渲染文本模板(0.0ms) 3ms内完成200 OK(浏览次数:1.7ms | ActiveRecord:1.4ms)

Rails中的find_by_sql,访问生成的数组

我试图在Rails中以非常快速和肮脏的方式运行查询,而不是将模型的其余部分放在适当的位置。 我知道这是不好的做法,但我只是需要在紧迫的时间内快速得出结果,直到我得到整个解决方案。 我有基于重量的运费价格的物品。 重量存储在商品中,价格存储在表shipping_zone_prices中,我目前所做的只是查找与重量比销售商品重的第一行相关的价格: class Item d.weight ORDER BY z.weight_g asc limit 1″) end end 这种作品。 SQL完成了这项工作,但是当插入应用程序时,如下所示: Shipping 我看到以下显示: [#] Shipping 在此示例中,“12”是从数据库中提取的价格,并且是正确的。 @ item.shipping_price.class返回’Array’。 尝试使用[0](或任何其他整数)访问数组会返回空白。 有没有其他方法来访问它,或者我错过了一些基本的东西?

为什么我的rails服务器记录了两次?

我的rails服务器似乎记录了两次,不知道这里发生了什么,我应该怎么做才能调查这个? 我的gem文件 source ‘https://rubygems.org’ ruby ‘2.1.0’ gem ‘rails’, ‘4.0.1’ gem ‘haml-rails’ gem ‘pg’, ‘~> 0.17.1’ gem ‘redis’ gem ‘redis-namespace’ gem ‘thin’, ‘~> 1.6.1’ gem ‘rabl’ gem ‘underscore-rails’ #assets gem ‘sass-rails’, ‘~> 4.0.0’ gem ‘uglifier’, ‘>= 1.3.0’ gem ‘foundation-rails’ gem ‘font-awesome-rails’ #javascript gem ‘coffee-rails’, ‘~> 4.0.0’ gem ‘jquery-rails’ gem ‘jbuilder’, ‘~> 1.2’ gem ‘angularjs-rails’, ‘~> 1.2.7’ […]

Rails没有传递“commit”按钮参数

在新服务器上重新安装Rails应用程序。 应用程序的一部分可以根据用户选择的按钮分叉两个方向之一。 这部分不起作用,当我查看日志时,我看到我给表单的值, 除了 params哈希的commit部分。 这似乎是应用程序没有按预期工作的原因(因为params[:commit]没有任何内容,但我不知道为什么不会传入提交;请求绝对是POST请求,而所有其他参数在那里。

Rails多态多对多关联

我正在尝试设置一个通用的相关对象网络。 假设我有4个型号。 书 电影 标签 类别 我想能够做到: book = Book.find(1) book.relations << Tag.find(2) book.relations < [Tag#2, Category#3] movie = Movie.find(4) movie.relations << book movie.relations < [Book#1, Tag#5] 基本上我希望能够获取任何模型类(或我允许的模型类)的任何2个对象,并声明它们是相关的。 显然我不想创建一大堆连接表。 这似乎并不是很多通过关联,而不是一个多态关联。 这是Rails可以通过它的关联声明支持的东西还是我应该在这里滚动我自己的逻辑?

Rails ActionController :: Metal实际上做了什么

我想了解Rails ActionController :: Metal控制器。 我在这里已经阅读过,但完全不理解。 它用于构建API,但我们也可以在没有它的情况下构建API。 那它究竟做了什么,它有多大用处? 可以请任何人用例子来解释它吗?

Rails:带有erb的动态robots.txt

我正在尝试在我的Rails(3.0.10)应用程序中呈现动态文本文件(robots.txt),但它继续将其呈现为HTML(称为控制台)。 match ‘robots.txt’ => ‘sites#robots’ 控制器: class SitesController < ApplicationController respond_to :html, :js, :xml, :css, :txt def robots @site = Site.find_by_subdomain # blah blah end end 应用程序/视图/网站/ robots.txt.erb: Sitemap: /sitemap.xml 但是当我访问http://www.example.com/robots.txt我得到一个空白页面/来源,日志显示: Started GET “/robots.txt” for 127.0.0.1 at 2011-11-21 11:22:13 -0500 Processing by SitesController#robots as HTML Site Load (0.4ms) SELECT `sites`.* FROM `sites` WHERE (`sites`.`subdomain` = […]

用户和相关post

我创建了一个类似于应用程序的twiiter,朋友可以发布,但我想要一个包含在列表中创建post的人的姓名,显示所有post。 这是我的代码 class PostsController “created_at DESC”) respond_to do |format| format.html end end def create @post = Post.create(:message => params[:message]) respond_to do |format| if @post.save format.html { redirect_to posts_path } format.js else flash[:notice] = “Message failed to save.” format.html { redirect_to posts_path } end end end end `

使用find初始化常量?

像这样的东西: 类别 SOME_CATEGORY = find_by_name(“some category”) 结束 类别:: SOME_CATEGORY 尝试没有问题,但想知道这是一个坏主意,以及原因,如果有.. 谢谢

如何通过SQL中没有属性的自定义模型方法进行排序?

以前我订购过我的post: @posts = Post.find(:all, :order => “created_at DESC”) 但是现在我想用我在Post模型中编写的自定义方法替换created_at ,该方法给出了一个数字作为结果。 我猜: @posts = Post.find(:all, :order => “custom_method DESC”) 哪个失败..