标签: ruby

在jekyll博客中支持标签的简单方法

我使用标准的jekyll安装来维护博客,一切都很顺利.除了我真的想标记我的帖子.

可以使用YAML前端标记帖子,但是如何为每个标签生成可以列出标签所有帖子的页面?

ruby tags tagging liquid jekyll

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

何时(如果)整合ActiveRecord迁移?

当我浏览应用程序*(s)的迭代时,我会累积迁移.截至目前,有48个这样的文件,跨越大约24个月的活动.

我正在考虑把我的电流schema.rb当作基线.

我还在考虑删除(当然还有源代码控制)现有的迁移,并从我当前的架构中创建一个漂亮的新单一迁移?迁移往往喜欢符号,但rake db:schema:dump使用字符串:我应该关心吗?

这看起来合情合理吗?如果是这样,这种练习在什么样的时间间隔才有意义?如果没有,为什么不呢?

我是否错过了一些(耙?)任务可以为我做这个?

* 就我而言,所有应用程序都是基于Rails的,但任何使用ActiveRecord迁移的应用程序似乎都适合这个问题.

ruby migration activerecord ruby-on-rails

45
推荐指数
2
解决办法
5311
查看次数

在Rails中命名布尔列

假设我有一个Dog,如果它trained在Rails中我想存储.通常,返回布尔值的Ruby方法具有以此结尾的名称?.我应该调用数据库列trained?,还是应该调用数据库列trained并使用方法

class Dog
  def trained?
    trained
  end
end
Run Code Online (Sandbox Code Playgroud)

后一个选项似乎效率低下,特别是当我有很多布尔字段时.

或者还有其他一些我想念的替代方案吗?

ruby ruby-on-rails

45
推荐指数
1
解决办法
6127
查看次数

hash ['key']到Ruby中的hash.key

我有一个哈希

foo = {'bar'=>'baz'}
Run Code Online (Sandbox Code Playgroud)

我想打个电话 foo.bar #=> 'baz'

我的动机是将activerecord查询重写为原始sql查询(使用Model#find_by_sql).这将返回一个带有SELECT子句值作为键的哈希.但是,我现有的代码依赖于object.method点表示法.我想做最小的代码重写.谢谢.

编辑:看来Lua有这个功能:

point = { x = 10, y = 20 }   -- Create new table
print(point["x"])            -- Prints 10
print(point.x)               -- Has exactly the same meaning as line above
Run Code Online (Sandbox Code Playgroud)

ruby hash activerecord

45
推荐指数
5
解决办法
2万
查看次数

如何在Ruby中获取终端窗口的宽度

您是否注意到如果在rails中运行rake -T,则rake描述列表会被终端窗口的宽度截断.所以应该有一种方法可以在Ruby中使用它并使用它.

我在屏幕上打印一些Ascii-art,我不希望它被打破.因此我需要在运行时找出终端的宽度.

任何想法怎么做?

ruby unix terminal

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

为什么RSpec在Rails下如此之慢?

每当我为我的Rails应用程序运行rspec测试时,它在实际开始运行测试之前需要花费一天的时间和一天的开销.为什么rspec这么慢?有没有办法加速Rails的初始加载或单独我需要的Rails应用程序的部分(例如只有ActiveRecord的东西)所以它不会加载绝对的一切来运行一些测试?

ruby rspec ruby-on-rails

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

LDAP通过Ruby或Rails

我一直试图将Rails应用程序挂钩到ActiveDirectory.我将同步AD和数据库之间的用户数据,目前是MySQL(但可能会变成SQL Server或PostgreSQL).

我已经检查了activedirectory-ruby,它看起来真的很麻烦(1.0发布!?).它包装了Net :: LDAP,所以我尝试使用它,但它非常接近LDAP的实际语法,并且我喜欢ActiveDirectory-Ruby的抽象,因为它具有类似ActiveRecord的语法.

是否有一个优雅的ORM类型的目录服务器工具?更好的是,如果有一些用于LDAP的脚手架工具(用户,组,组织单位等的CRUD).然后,我可以通过Authlogic快速将其与我现有的身份验证代码集成,并保持所有数据同步.

ruby ldap ruby-on-rails active-directory

44
推荐指数
2
解决办法
3万
查看次数

从Linux上的命令队列进行并行处理(bash,python,ruby ......等等)

我有一个200个命令的列表/队列,我需要在Linux服务器上的shell中运行.

我只希望一次最多运行10个进程(从队列中).某些流程需要几秒钟才能完成,其他流程需要更长时间.

当进程完成时,我希望从队列中"弹出"下一个命令并执行.

有没有人有代码来解决这个问题?

进一步阐述:

在某种队列中需要完成200件工作.我希望一次最多可以完成10件工作.当一个线程完成一项工作时,它应该要求队列进行下一项工作.如果队列中没有其他工作,则线程应该死掉.当所有线程都已经死亡时,意味着所有工作都已完成.

我正在尝试解决的实际问题是使用imapsync将旧邮件服务器中的200个邮箱同步到新邮件服务器.某些用户拥有大型邮箱并需要很长时间才能同步,其他用户拥有非常小的邮箱并可以快速同步.

ruby python parallel-processing bash shell

44
推荐指数
5
解决办法
2万
查看次数

Ruby'require'语句是在类定义的内部还是外部?

在Ruby中使用类文件时,是否将'requires'语句放在文件的顶部或类定义中?

ruby object

44
推荐指数
4
解决办法
2万
查看次数

Rails:我无法调用/ lib中的模块中的函数 - 我做错了什么?

我知道我做了一些愚蠢的事情或者没有做一些聪明的事情 - 我经常对两者都感到内疚.

这是一个让我痛苦的例子:

我有一个模块保存在/ lib中作为test_functions.rb,看起来像这样

module TestFunctions
  def abc
    puts 123
  end
end
Run Code Online (Sandbox Code Playgroud)

进入ruby脚本/跑步者,我可以看到模块正在自动加载(良好的配置以及所有......)

>> TestFunctions.instance_methods
=> ["abc"]
Run Code Online (Sandbox Code Playgroud)

所以这个方法是已知的,让我们试试吧

>> TestFunctions.abc
NoMethodError: undefined method `abc' for TestFunctions:Module from (irb):3
Run Code Online (Sandbox Code Playgroud)

不.这个怎么样?

>> TestFunctions::abc
NoMethodError: undefined method `abc' for TestFunctions:Module from (irb):4
Run Code Online (Sandbox Code Playgroud)

再试一次.

defined?(TestFunctions::abc) #=> nil, but
TestFunctions.method_defined? :abc #=> true
Run Code Online (Sandbox Code Playgroud)

就像我在顶部说的那样,我知道我是愚蠢的,有人会让我失望吗?

ruby ruby-on-rails

44
推荐指数
5
解决办法
4万
查看次数