小编Sah*_*hil的帖子

json gem不会安装在Windows上

这是我不断得到的错误.我安装了DevKit并遵循了所有说明.

gem install json -v '1.6.3'
Temporarily enhancing PATH to include DevKit...
Building native extensions.  This could take a while...
ERROR:  Error installing json:
        ERROR: Failed to build gem native extension.

        "C:/Program Files/Ruby/Ruby192/bin/ruby.exe" extconf.rb
creating Makefile

make
Makefile:160: warning: overriding commands for target `C:/Program'
Makefile:153: warning: ignoring old commands for target `C:/Program'
C:/Program Files/Ruby/Ruby192/bin/ruby -e "puts 'EXPORTS', 'Init_parser'"  > par
ser-i386-mingw32.def
/bin/sh: C:/Program: No such file or directory
make: *** [parser-i386-mingw32.def] Error 127


Gem files will remain installed in C:/Program …
Run Code Online (Sandbox Code Playgroud)

gem json ruby-on-rails-3

5
推荐指数
1
解决办法
2070
查看次数

如何使用ActiveAdmin创建STI子类的对象

鉴于以下设置(目前不工作)

class Employee < ActiveRecord::Base
end

class Manager < Employee
end

ActiveAdmin.register Employee do
  form do |f|
    f.input :name
    f.input :joining_date
    f.input :salary
    f.input :type, as: select, collection: Employee.descendants.map(&:name)
  end
end
Run Code Online (Sandbox Code Playgroud)

我希望为所有员工提供一个"新"表单,并能够在表单中选择员工的STI类型.我能够按预期看到"类型"的选择框,但是当我点击"创建"按钮时,我收到以下错误:

ActiveModel::MassAssignmentSecurity::Error in Admin::EmployeesController#create

Can't mass-assign protected attributes: type
Run Code Online (Sandbox Code Playgroud)

现在,我知道受保护的属性在Rails中的工作方式,我有一些解决方法,如定义,Employee.attributes_protected_by_default但这会降低安全性,而且太糟糕了.

我希望能够使用ActiveAdmin中的某些功能执行此操作,但我找不到一个.我不想创建自定义控制器操作,因为我展示的示例是高度简化和设计的.

我希望以某种方式由ActiveAdmin生成的控制器识别type并执行Manager.create而不是Employee.create

有没有人知道解决方法?

ruby-on-rails activeadmin

3
推荐指数
1
解决办法
5872
查看次数

GROUP BY 在 Postgres 中的性能

我有一个大表(包含大量列的 2M+ 条记录)。我打算进行 GROUP BY 来进行重复数据删除。我想知道以下两种策略哪种效果更好?

  1. GROUP BY 多列(col_a, col_b, col_c)
  2. 添加一个新列 dedup_col,其中包含使用 col_a、col_b、col_c 形成的规范化字符串,然后对 dedup_col 执行 GROUP BY。dedup_col 将预先填充。

我知道我可以运行基准测试,但在开始实施之前我需要一些理论输入。

postgresql

0
推荐指数
1
解决办法
2855
查看次数