Articles of ruby on rails 4

Rails 4 Postgresql数组数据类型:更新值

我刚刚开始在Postgres中使用Rails 4中的数组数据类型,但是我无法在现有数组上获取值以进行更新。 我有一个名为’quantity’的列,它是一个整数数组([0,0])。 我想更新’quantity [0]’的值,我在控制台中尝试了以下内容: a = Asset.find(2) => # a.quantity[0] = 5 => 5 a.quantity_will_change! => [5, 0] a.save => true a.reload => # 如您所见,资产对象的数量值是变化的,但是当我尝试使用“a.save”保存对象时,重新加载对象时不会反映更改。 任何帮助将不胜感激。 谢谢

Rails 4将附件上传的file_field添加到现有表单和控制器

我是铁杆的新手。 现在已经学习了几个星期。 请原谅我的愚蠢。 我无法获取我选择上传的文件。 我正在使用Rails 4.0.0。 我正在处理我的第一个应用程序,我开始关注博客应用程序的rails指南。 我接受了它,并与它一起运行,并创建了一些不同的(错误跟踪系统),只是试图学习绳索。 所以,我有我的表格: 我已经在我的file_field中添加了。 视图中的显示部分看起来并且在选择文件时效果很好。 我从导轨4指南FYI中取出了这个。 所以我的控制器看起来像这样: class PostsController < ApplicationController def new @post = Post.new end def create @post = Post.new(params[:post].permit(:title, :text, :user, :screen)) if @post.save redirect_to posts_path else render 'new' end end def show @post = Post.find(params[:id]) end def index @posts = Post.all end def edit @post […]

Rails 4原始SQL请求中的字符串插值

在没有插值的情况下重写此查询的最佳方法是什么? def case_joins(type) subquery = <<-SQL.squish SELECT id FROM cases c2 WHERE c2.title_id = titles.id AND c2.value = 0 AND c2.type = '#{type}' ORDER BY c2.created_at DESC LIMIT 1 SQL "LEFT OUTER JOIN cases ON cases.title_id = titles.id AND cases.value = 0 AND cases.type = '#{type}' AND cases.id = (#{subquery})" end

启用JavaScript的测试出错(Bootstrap 3,Rails 4,Travis CI)

我有奇怪的错误,只出现在CI环境中。 此错误不会出现在开发,生产甚至本地测试环境中。 ActionController::RoutingError: No route matches [GET] “/fonts/bootstrap/glyphicons-halflings-regular.svg” 完整的跟踪可以在这里找到 在开发和生产环境中,成功请求/assets/bootstrap/glyphicons-halflings-regular.woff 。 /fonts/ – /assets和svg – woff部分有所不同。 JavaScript启用的所有错误都启用了测试(Poltergeist / PhantomJS驱动程序)。 定期的Capybara测试都是绿色的。 Chrome devtools表示,字体文件的请求是由jquery.js生成的,而不是页面或css文件。

sRails 4.2 / Rspec / rspec-retry – 关联属于/ has_many失败

我正面临着一个关于rspec问题的怪物,每次我试图解决它创造另一个错误。 我有一个模特交易,其中有很多步骤 模型/ step.rb belongs_to :deal, :foreign_key => ‘deal_id’ 模型/ deal.rb has_many :steps, dependent: :destroy do # added to enable maximum nb of steps a deal can have # to take into account in active admin # in order to calculate the correct new nb of step to compare to the authorized limit # source: […]

如何获得强参数以允许嵌套的fields_for属性?

我有一个带有嵌套fields_for的表单。 我试图允许由该嵌套表单生成的参数,但它们被强参数阻止。 我使用rails 4.2.4和ruby 2.2.2 我读过一些官方文档: http://api.rubyonrails.org/classes/ActionController/StrongParameters.html http://guides.rubyonrails.org/action_controller_overview.html#strong-parameters 我已经阅读了相关的SOpost: Rails 4嵌套属性未允许的参数 如何允许嵌套属性的强参数? 我读过各种博文: http://www.rubyexperiments.com/using-strong-parameters-with-nested-forms/ http://adamyonk.com/2013/05/16/rails-4-strong-parameters-and-nested-forms.html 和更多 我想我正在按照他们的意思去做,但我的嵌套属性被强参数拒绝了。 我在日志中得到了Unpermitted parameters: __template_row__, 0, 1, 2, 3 。 这是我的代码: 车型/ enclosure.rb class Enclosure { order(“year DESC, month DESC”) }, dependent: :restrict_with_error validates :name, presence: true, uniqueness: {case_sensitive: false} accepts_nested_attributes_for :resident_animals, allow_destroy: true, reject_if: :all_blank def to_s name end […]

接收错误PG :: UndefinedColumn:ERROR:使用Geocoder的near方法时,mymodels.distance列不存在

使用此查询时(与Railscasts第273集中相同): @locations = Location.near(params[:search], 50, :order => :distance) 或者,更简洁: @mymodels = MyModel.near(address, distance, order: :distance) 我收到错误: PG::UndefinedColumn: ERROR: column mymodels.distance does not exist 应该通过Geocoder gem将distance列添加到结果中,但它似乎不会出现在结果中(因此我得到上述错误)。

如何在控制器规范中禁用before_action?

我在我的控制器规范中使用了这个: controller.class.skip_before_action 具体来说,在这种情况下: controller.class.skip_before_action:require_authorisation_to_view_materials MaterialsController: class MaterialsController < ApplicationController before_action :set_material, only: [:show, :edit, :update, :destroy] before_action :require_authorisation_to_view_materials, only: [:index, :show] def require_authorisation_to_view_materials # For Materials Page unless user_signed_in? && current_user.can_view_materials? redirect_to root_path, alert: "You are not authorised to view the Materials page." end end # GET /materials # GET /materials.json def index @materials = […]

Rails国际化:i18n查找嵌套的语言环境目录

我正在尝试使用嵌套文件结构组织我的本地化文件,以便更容易查找。 我跟着 在rails app中组织Locale文件 你如何在Rails中构建i18n yaml文件? 但是我的翻译版本丢失了: en.view.fruits.apple 。 我认为Rails试图只查找locales/en.yml文件中的翻译但不locales/en.yml子目录,尽管我已将它们包括在内。 配置/ application.rb中: config.i18n.load_path += Dir[“#{Rails.root.to_s}/config/locales/**/*.{rb,yml}”] 我的语言环境目录: |locales |-en.yml |-views |–en.yml 区域设置/查看/ en.yml: en: fruits: apple: “apple” 意见/ fruit.html.haml: = I18n.t(‘views.fruits.apple’)

使用cache_digests与XML构建器?

有没有办法在Rails 4(cache_digests)中利用XML的新缓存策略? 我想我可以使用xml.erb视图,但我更喜欢xml.builder视图的简洁性。 有没有办法以这种方式使用cache_digests?