小编Hel*_*iro的帖子

在ActiveRecord模型类中重新加载列名称

我有一个使用ActiveRecord的脚本,它根据从CSV文件读取的值动态创建列名,如下所示:

FasterCSV.foreach('votes.csv', :headers => true) do |row|
  column_name = "roll_call_id_#{row['roll_call_id']}"

  if !Legislator.columns.map(&:name).include?(column_name)
    connection_pool.connection.add_column('legislators', column_name, 'string')
  end
end
Run Code Online (Sandbox Code Playgroud)

问题是,在创建新列之后,我无法执行a,legislator.update_attribute(column_name, value)因为类没有获取新列并抱怨它不存在.

如何让它再次查询表结构?

database scripting schema activerecord ruby-on-rails

12
推荐指数
1
解决办法
4756
查看次数

System.nanoTime()是否在线程间保持一致?

我想计算两个事件之间经过的时间,以纳秒为单位.要做到这一点,我可以使用这里System.nanoTime()提到的.问题是这两个事件发生在不同的线程中.


由于nanoTime()不返回绝对时间戳,而只能用于计算时间,我想知道我在两个不同线程上获得的值是否与两个事件之间经过的物理时间一致.

java multithreading timestamp nanotime

11
推荐指数
1
解决办法
3869
查看次数

检测不同分辨率下的图像相等性

我正在尝试构建一个脚本来浏览我原来的高分辨率照片,并在我拥有专业帐户之前替换我上传到Flickr的旧的低分辨率照片.

对于他们中的许多人,我可以使用Exif信息,例如确定匹配日期.但是有些真的很旧,要么原始文件没有Exif信息,要么被我当时使用的任何愚蠢的调整大小软件所破坏.

因此,无法依赖元数据,我不得不求助于内容本身.问题是原件的分辨率不同于Flickr上的分辨率(这是这项努力的重点).那么有没有办法让我将它们与某种模糊相似性度量进行比较,这样可以让我设置一个需要人类输入的阈值?

我想知道一个图像是另一个图像的调整大小版本可以产生比一般相似性更好的结果.任何语言的解决方案都可以,但Ruby会是一个加分:)

ruby image image-processing similarity computer-vision

10
推荐指数
1
解决办法
2956
查看次数

为Rails应用程序构建扩展框架

我正在开始研究我需要什么才能为Rails应用程序构建用户级插件系统(如Wordpress插件),所以我很欣赏一些通用指针/建议.用户级插件我指的是一个用户可以解压缩到一个文件夹并将其显示在管理界面上的包,允许他们添加一些额外的配置然后激活它.

这样做的最佳方法是什么?还有其他开源项目吗?Rails本身已经为可以利用的程序员级插件提供了什么?任何可以帮助我的Rails插件?

插件必须能够:

  • 运行自己的迁移(用 这个?它没有记录)
  • 可以访问我的模型(插件已经可以)
  • 有视图添加内容的入口点(可以使用content_for和yield完成)
  • 替换整个视图或部分(如何?)
  • 提供自己的管理员和面向用户的视图(如何?)
  • 创建自己的路线(或者只是宣布它的存在,让为它创建路线,以避免插件踩到彼此的脚趾)

还有什么我想念的吗?

此外,有没有办法限制插件可以访问哪些表/操作有关迁移和模型,还限制他们访问路由(可能让它们包括但不删除路由)?

PS:我会尽量保持这个更新,编译我弄清楚的东西和相关答案,以便为其他人提供一种指导.

plugins extensibility ruby-on-rails admin

10
推荐指数
1
解决办法
566
查看次数

MySQL Workbench符号引用

我正在查看由MySQL Workbench(实际上是DBDesigner4)生成的数据库图表,但我不熟悉它,所以我无法弄清楚它用于关系和字段的一些符号.有谁知道一个好传奇?

mysql database schema visualization mysql-workbench

9
推荐指数
1
解决办法
1万
查看次数

保存主对象时,ActiveRecord是否保存belongs_to关联?

如果我有两个型号:

class Post < ActiveRecord::Base
  belongs_to :user
end
Run Code Online (Sandbox Code Playgroud)

class User < ActiveRecord::Base
  has_many :posts
end
Run Code Online (Sandbox Code Playgroud)

如果我做:

post = Post.new
user = User.new
post.user = user
post.save
Run Code Online (Sandbox Code Playgroud)

难道用户得到保存,以及与主键正确分配中postuser_id字段?

activerecord ruby-on-rails associations

9
推荐指数
2
解决办法
9499
查看次数

开始跟踪仅跟踪主干的git-svn仓库上的分支/标签

我已经开始使用git跟踪一个svn存储库,只通过克隆它的trunk目录.现在我想跟踪其他东西,但我不想再次克隆它只是为了使用,--stdlayout因为它需要很长时间才能下载并且我已经在本地拥有大部分代码.如何更改存储库布局以匹配svn trunk/branches/tags方案而无需再次克隆?

svn git version-control git-svn

8
推荐指数
1
解决办法
1432
查看次数

如何在emacs上通过"Mx customize"设置变量注释?

当我设置变量时M-x customize,值将存储在我的.emacs文件中这个自动生成的按字母排序的大型列表中.

问题是我想记录为什么我选择特定值而不是特定变量的默认值.如果我通过在自动生成的列表中添加elisp注释来实现这一点,那么下次我自定义另一个变量时它们就会被破坏.

有没有办法Custom保持我的评论,还是有其他标准的方法来注释这个?

emacs customization comments editor dot-emacs

7
推荐指数
1
解决办法
226
查看次数

在Ruby中将两位数年份转换为四位数年份

我有类似的字符串"84", "03",我想转换为Date对象,但Date.new只将扩展的4位数年份作为参数.我知道这很简单,但我不想重新发明这个轮子.有没有这样做的事情?在标准Ruby或ActiveSupport中.

ruby time date

7
推荐指数
1
解决办法
5058
查看次数

如何从Emacs中的某个键(组合)开始获取命令列表?

我可以使用C-h c(describe-key-briefly)并键入一个组合键,它将返回绑定到它的函数.但我还想只键入一个键组合的前缀,并让它列出并描述绑定到以它开头的键序列的所有函数,如"以...开头的所有绑定键C-x".

emacs keyboard-shortcuts editor

6
推荐指数
1
解决办法
183
查看次数