Articles of ruby on rails 3.1

什么是在rails 3.1(pdf表单,xls文件等)中存储静态资产(文件)的最佳位置

我有一堆静态资产(不是jpg,css和js) – 而是像pdf表单这样的文件,我需要向用户提供xls。 他们很少改变。 之前我曾经将它们存储在公共文件夹中,但随着rails 3.1中资产管道的引入,现在存储文件的最佳位置是什么? 谢谢

ActiveRecord的:: UnknownAttributeError?

我只是将应用程序推送到生产Heroku环境。 基本上有一个Bus模型,它有一个seats属性 class Bus < ActiveRecord::Base attr_accessible :seats, # other attributes end 现在我有一个JavaScript前端,POST的JSON用于新总线到buses#create action。 我尝试创建总线时,ActiveRecord遇到错误: : POST www.busables.com/buses dyno=web.1 queue=0 wait=5ms service=65ms status=500 bytes=728 : : ActiveRecord::UnknownAttributeError (unknown attribute: seats): : app/controllers/buses_controller.rb:31:in `new’ : app/controllers/buses_controller.rb:31:in `create’ 参数正在达到控制器动作。 我可以记录它们,然后我得到了以下内容: The bus parameters received: {“seats”=>”24”, “departure_time(1i)”=>”2011”, “departure_time(2i)”=>”11”, “departure_time(3i)”=>”25”, “departure_time(4i)”=>”16”, “departure_time(5i)”=>”15”, “route_attributes”=>{“summary”=>”N51”, “beginning_address”=>”A place”, “terminal_address”=>”Another place”, “distance”=>26362, “duration”=>1753}} […]

帮助者“fields_for”无法正常工作

我正在使用嵌套属性,但我的视图中未加载字段。 有人知道我错过了什么吗? Rails 3.1,Ruby 1.9.2 型号1: class Traditions::Material :destroy validates_presence_of :title accepts_nested_attributes_for :material_asset end 型号2: class Traditions::MaterialAsset < ActiveRecord::Base belongs_to :material has_attached_file :asset validates_attachment_presence :asset end 查看(HAML): = form_for @material, :html => {:class => ‘form’, :multipart => true} do |f| = errors_for @material .field = f.label :title = f.text_field :title .field = f.label :description = […]

如何在默认范围内按相关模型订购? – Rails 3.1

如何编写以下默认范围: class SimilarMerchant ‘similar_merchant_id’, :class_name => “Merchant” # scopes default_scope order(‘merchants.is_paid DESC’).order(‘score DESC’) end 基本上我想按merchant.is_paid字段排序(属于相关模型) 任何建议?

form_for自从升级到rails 3.1以来错误的参数数量(3个用于2)

在将我的应用程序移植到rails 3.1之前,这个form_for曾经工作过 true, :url => { :action => action, :substrate_id => @substrate_mass.substrate } do |f| %> 5, :onclick => ‘this.select();’, :value => @substrate_mass.quantity_per_year %> 我花了4个多小时试图弄清楚出了什么问题……我肯定不知道了什么 我收到错误: 错误的参数数量(2个为3) 请注意,我正在尝试更新不是activerecord对象的变量。 它只是一个未存储在数据库中的对象。 希望有人能提供帮助。 干杯

Rails资产不会更新

我有一个Rails 3.1应用程序,由于某些原因,当我更改CSS时,更改不会显示。 我确实bundle exec rake assets:precompile并且它曾经帮助过一次,但是现在我无论如何都被旧的CSS困住了。

如何在开发环境中预先编译rails中的资产?

我想从命令行手动预编译我的开发环境中的一些资源(以检查已编译的js和css文件的内容)。 我在跑步 RAILS_ENV=development bundle exec rake assets:precompile 但是我的js和css没有编译在public / assets文件夹中,只有图像是。 知道为什么会这样吗?

Passenger + Rails 3.1.1 =在任何来源中都找不到rake-0.9.2(Bundler :: GemNotFound)

我知道已经有一些关于这个错误的线程,但没有一个解决了我的问题。 我用rails 3.1.1和RVM Ruby 1.9.2-p180开始了一个新的rails应用程序。 当我使用rails server并转到localhost:3000时它可以工作 但是当我尝试像使用Passenger(OSX pref pane)的其他Rails 3.0.x应用程序一样托管它并在浏览器中访问它时,我收到以下错误: Error message: Could not find rake-0.9.2 in any of the sources (Bundler::GemNotFound) Exception class: PhusionPassenger::UnknownError 还有其他人遇到过rails 3.1.1和乘客的问题吗? 当我输入gem list –local时,我的gem list –local有rake 0.9.2,而且我也在正确的RVM gemset中。 有任何想法吗?

在Rails 3中更改运行时的语言环境

我正在使用rails 3应用程序,它在我的locales文件夹中有不同的语言。 这些文件是en.yml,pu.yml,sp.yml。 所有语言都必须转换为各种格式,我需要帮助,让用户选择任何语言,如链接 当用户选择语言时,语言被设置为用户的首选语言,以便用户在每次登录后不必继续选择语言。

移动到生产时错误预编译资产

我正在尝试将我的项目转移到生产中, 尝试去 RAILS_ENV=production bundle exec rake assets:precompile 给我一个错误,没有指定它是在哪个文件中。 rake aborted! Sass::SyntaxError: Invalid CSS after “}”: expected selector or at-rule, was “}” (sass):89 /Users/mac/.rvm/gems/ruby-2.2.3/gems/sass-3.4.23/lib/sass/scss/parser.rb:1207:in `expected’ /Users/mac/.rvm/gems/ruby-2.2.3/gems/sass-3.4.23/lib/sass/scss/parser.rb:1137:in `expected’ /Users/mac/.rvm/gems/ruby-2.2.3/gems/sass-3.4.23/lib/sass/scss/parser.rb:42:in `parse’ /Users/mac/.rvm/gems/ruby-2.2.3/gems/sass-3.4.23/lib/sass/engine.rb:406:in `_to_tree’ /Users/mac/.rvm/gems/ruby-2.2.3/gems/sass-3.4.23/lib/sass/engine.rb:281:in `render’ /Users/mac/.rvm/gems/ruby-2.2.3/gems/sprockets-3.7.1/lib/sprockets/sass_compressor.rb:48:in `call’ /Users/mac/.rvm/gems/ruby-2.2.3/gems/sprockets-3.7.1/lib/sprockets/sass_compressor.rb:28:in `call’ /Users/mac/.rvm/gems/ruby-2.2.3/gems/sprockets-3.7.1/lib/sprockets/processor_utils.rb:75:in `call_processor’ /Users/mac/.rvm/gems/ruby-2.2.3/gems/sprockets-3.7.1/lib/sprockets/processor_utils.rb:57:in `block in call_processors’ /Users/mac/.rvm/gems/ruby-2.2.3/gems/sprockets-3.7.1/lib/sprockets/processor_utils.rb:56:in `reverse_each’ 如何找出发生错误的文件? 即使有–trace也没告诉我。