Tag: ruby在轨道 3

如何更改Ruby on Rails应用程序名称?

我有一个Ruby on Rails应用程序,它是使用以下命令创build的: rails new old_name -d mysql 现在我想将应用程序名称更改为new_name 。 只是更改应用程序文件夹名称是不够的,因为数据库名称也必须更改(从old_name_development到new_name_development )。 我想知道在自动生成的文件中是否还有其他地方需要改变。 有没有内置的命令来更改应用程序名称?

Ruby on Rails 3 – 为每个请求重新加载lib目录

我正在为rails 3应用程序创build一个新的引擎。 你可以猜到,这个引擎在我的应用程序的lib目录中。 但是,我有一些问题的发展。 事实上,每当我改变引擎中的东西时,我都需要重新启动服务器。 有没有办法避免这种情况? 我可以强制导轨完全重新加载lib目录或一个特定的文件和他的要求,每个请求? 谢谢你的帮助 :)

如何更改Rails 3中初始化器的加载顺序?

我有一个从yaml文件加载configuration设置的初始化程序。 我需要在其他初始化程序中使用这些设置。 这些设置不会被需要它们的初始化程序看到。 我认为正在发生的是设置得到加载太迟。 我如何保证我的configuration初始化程序首先被加载? 它是不是像初学者依赖另一个? 谢谢!

如何通过Rails 3.2 mass-assignment提交多个NEW项目

我有一个非常标准的用例。 我有一个父对象和一个子对象的列表。 我想要一个表格forms,可以一次编辑所有的孩子,就像表格中的行一样。 我也希望能够插入一个或多个新的行,并提交它们被创build为新的logging。 当我使用fields_for为has-many相关的嵌套logging呈现一系列子表单时,rails会生成字段名,例如parent[children_attributes][0][fieldname] , parent[children_attributes][1][fieldname]等上。 这会导致Rackparsing一个参数哈希,如下所示: { "parent" => { "children" => { "0" => { … }, "1" => { … } } } 当传递一个新的 (未fields_for )对象时,相同的fields_for将生成一个字段名称,如下所示: parent[children_attributes][][fieldname] 注意其中没有索引的[] 。 这不能与包含[0] , [1]等的字段以相同的forms发布,因为Rack变得困惑并引发 TypeError: expected Array (got Rack::Utils::KeySpaceConstrainedParams) “OK”,认为我“我会确保所有的字段使用[]forms,而不是[index]forms。但我不知道如何说服fields_for做到这一贯。即使我给它是一个明确的字段名称前缀和对象: fields_for 'parent[children_attributes][]', child do |f| … 只要child持久,它会自动修改字段名,使他们成为例如parent[children_attributes][0][fieldname] ,同时留下新logging的字段名为parent[children_attributes][][fieldname] 。 再一次,Rack barfs。 我不知所措 我怎么使用像fields_for这样的标准Rails助手来提交多个新logging,以及现有的logging,让它们在params中被parsing为一个数组,并且把缺lessID的所​​有logging都创build为数据库中的新logging? […]

如何在Rails3中使用unscoped关联关系?

由于信息安全的限制,我有一个默认的产品范围。 class Product < ActiveRecord::Base has_many :photos default_scope where('visible = 1') end 然而,在我的相关照片模型中,我也必须find不应该可见的产品。 class Photo < ActiveRecord::Base belongs_to :product end my_photo.product 在其他情况下,我可以使用unscoped来绕过default_scope,例如在Product.unscoped.find_by_title('abc') 。 然而: 使用logging关联时如何删除范围? my_photo.unscoped.product没有意义,因为my_photo没有名为unscoped的方法。 my_photo.product.unscoped也没有意义,因为my_photo.product可能已经是零。

将parameter passing给局部视图

我有一个观点,显示多个图像和这些图像的相关标签。 我决定使用每个图像及其标签的局部视图,但我无法将图像对象传入局部视图。 以下是主视图的相关代码: <table> <% @images.each do |i| %> <tr> <%= render :partial => :image_tag, :image => i %> </tr> <% end %> </table> 以下是部分视图的相关代码(局部视图名为_image_tag.html.erb): <table> <%= image.id %> <%= image_tag image.src %> </table> 我在这个线程中读到,我可以按照我目前正在执行的方式传递图像对象。 我尝试通过在渲染方法的选项哈希id传递,也没有工作。 我得到的错误是: undefined method `model_name' for Symbol:Class 围绕我所说的线渲染:在主视图中是局部的。

Rails 3 ActiveRecord:按关联计数

我有一个名为Song的模型。 我也有一个叫做Listen的模型。 一个Listen belongs_to :song ,一首歌:has_many listens (可以多次听)。 在我的模型中,我想定义一个self.top方法,它应该返回最多听的前5首歌曲。 我怎样才能实现使用has_many关系? 我正在使用Rails 3.1。 谢谢!

当我运行软件包安装时,如何传递一个用于gem安装的参数?

我添加了pg gem到我的gemfile gem 'pg' 当我运行bundle install ,我得到这个错误: Installing pg (0.10.1) with native extensions /Users/ben/.rvm/rubies/ruby-1.9.2-p0/lib/ruby/1.9.1/rubygems/installer.rb:483:in `rescue in block in build_extensions': ERROR: Failed to build gem native extension. (Gem::Installer::ExtensionBuildError) /Users/benhartney/.rvm/rubies/ruby-1.9.2-p0/bin/ruby extconf.rb checking for pg_config… no No pg_config… trying anyway. If building fails, please try again with –with-pg-config=/path/to/pg_config checking for libpq-fe.h… no Can't find the 'libpq-fe.h header *** […]

未定义的方法`image_will_change!' 在Heroku上的CarrierWave

我有一个安装Carrierwave上传器的简单模型。 一切工作正常,但我得到一个未定义的方法“image_will_change!” Heroku上的错误。 class Receipt < ActiveRecord::Base mount_uploader :image, ImageUploader end class ImageUploader < CarrierWave::Uploader::Base storage :fog def store_dir "receipts/saved" end end 根据Carrierwave Wiki,我也正确设置了cache_dir。 receipt.image = File.open "publichttp://img.dovov.comtest.jpg" #works fine in development, fails in heroku

Rails + New Relic:RPM是什么意思?

我刚开始使用New Relic RPM与我的Rails应用程序,他们提供的指标之一是“吞吐量RPM”。 我到处search并彻底梳理了New Relic文档,并且找不到RPM吞吐量度量的任何书面解释。 是“请求每分钟”或“每毫秒请求”还是其他? * *燃烧引擎和每分钟革命使这无法在Google中find答案。 什么是吞吐量RPM? 是一个好的数字还是更低,什么是一些平均基准等? 我非常感谢这个指标的解释,谢谢!