小编Amo*_*ari的帖子

在Ruby/Rails/Rack代码中使用"use"关键字/单词

最近我碰巧在Ruby代码中看到这个词use,当我正在浏览一些与goliath,middleware等相关的代码时.看起来它与include/ extend,和require.

有人可以解释为什么这个use关键字存在,以及它与include/有require什么不同?它是如何工作的,什么时候使用它?

ruby rack ruby-on-rails rack-middleware

16
推荐指数
1
解决办法
5301
查看次数

Rails 3按顺序排列has_many:通过

我有一个应用程序,我可以列出项目并为每个项目添加标签.模型标签关联如下:

class Item < ActiveRecord::Base
  has_many :taggings
  has_many :tags, :through => :taggings
end

class Tagging < ActiveRecord::Base
  belongs_to :item
  belongs_to :tag
end

class Tag < ActiveRecord::Base
  has_many :taggings
  has_many :items, :through => :taggings
end
Run Code Online (Sandbox Code Playgroud)

因此,这种多对多关系允许我为每个项目设置n个标签,并且可以多次使用相同的标签.

我想列出按此标签关联的项目数量排序的所有标签.更多使用的标签,首先显示.较少使用,最后.

我怎样才能做到这一点?

问候.

ruby tagging activerecord ruby-on-rails-3

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

与红宝石相反

<<在循环中使用运算符准备了一个巨大的字符串.最后我想删除最后2个字符.

some_loop
  str << something
end
str = str[0..-3]
Run Code Online (Sandbox Code Playgroud)

我认为上面的最后一个操作也会消耗内存和时间,但我不确定.我只是想看看是否有一个具有相反效果的操作, <<所以我可以从同一个字符串中删除那两个最后一个字符.

ruby string

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

黄瓜,watir数据工厂

我们有一个独立的测试自动化团队,负责仅自动化watir + cucumber功能测试用例.他们的代码库没有附加到其他开发人员正在处理的rails应用程序,而是保持独立.到目前为止,我们已经自动化了几个测试用例,现在我们遇到了什么问题,一些(watir/cucumber specs)测试用例需要将一些数据预先存在到db中,所以它(testcase)应该只关注问题stmt,而不是创建任何数据 - 需要自己.

例如,如果必须检查评级是否适用于帖子,则需要预先存在一个帖子对象并且它只是检查评级.而不是创建第一个帖子对象,然后检查其评级.

这里最好的方法是什么?就像我们有用于导轨单元测试的固定装置和工厂女孩一样,黄瓜规格有什么用?或者我们只能在这里使用功能吗?这些测试人员可能不知道存在的所有模型,他们是否意识到它们,因此通过调用Rails-Model接口来使用fixture.

我的想法是,当我们编写功能文件时,它不应该指向或谈论任何看起来是元的东西的模型.Watir/specs测试用例应该只知道"Web应用程序"/浏览器只是作为交谈/处理应用程序的界面.他们不应该知道任何其他界面(夹具/模型).因此,他们应该通过利用他们所知道的单一界面自己创建自己的数据.

同样,我想知道的是,是否有任何ruby lib /代码,给定表名,列名和值(最像是fixtures yml)以及db参数.它只是将它们插入到db中,没有rails环境的上下文.因此测试人员将他们的环境与rails隔离开来,web开发人员可以自己工作.Rails装置,或工厂女孩似乎很好地配合铁轨.还是我错了?

ruby testing watir cucumber ui-automation

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

在ruby中从自身获取实例变量名称

我有一个实例变量@foo,我想写一些代码,以便我得到字符串'foo'

任何提示?

ruby metaprogramming

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

如何列出 ruby​​/rails 运行时/进程使用的所有符号

只是想知道如何列出正在运行的 ruby​​ 进程中使用的所有符号?最终想知道所有这些符号所占用的大小,以及是否有任何限制或如何限制它,或者当大小太大时是否应该担心它们

ruby

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

如何使用灵丹妙药中的管道操作员工作?

这一切都类似于|在unix 上使用运算符吗?根据文档,它是关于将第一个参数传递给函数,所以想知道这个运算符的重要性与传统方式在Pascal或C等任何函数语言中传递第一个参数相比.

另外,我们可以用这种方式传递变量参数吗?

elixir

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

find_by association

在Rails中,我可以说:

Post.find_by_user_id 1
Run Code Online (Sandbox Code Playgroud)

但有没有办法说出类似的话

Post.find_by_user User.first
Run Code Online (Sandbox Code Playgroud)

没什么大不了的,但会更清洁.

activerecord ruby-on-rails ruby-on-rails-3

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