我有一个像这样的命名范围:
named_scope :by_items, lambda |*items| {
:joins => :items,
:conditions => ["items.id in (?)", items.map(&::id)]
}
Run Code Online (Sandbox Code Playgroud)
什么*item意思?当我打电话给它Item.find(:first, ...)时工作正常.如果我尝试使用集合进行调用,Item.find(:all, ...)则会失败.
从一个不同的SO问题,我知道签名应该是:
Order.by_items(item0, item1, ...)
Run Code Online (Sandbox Code Playgroud)
所以,我的问题还真是,我怎么把一个数组转换成一个逗号分隔的参数列表?
UPDATE0
来自Martin Fowler我了解到:
(在参数列表中使用"*"有助于处理ruby中的变量参数.在参数列表中*disks表示vararg.然后我可以将所有传入的磁盘称为名为"disks"的数组.如果我调用另一个带有"*disks"的函数,磁盘数组的元素作为单独的参数传入.)
UPDATE1
更多关于"splat"运算符.
我希望以规范的方式来做到这一点.我的谷歌搜索已经缩短了.我有一个ActiveRecord模型应该映射到不同于应用程序其余部分的数据库.我想将新配置存储在database.yml文件中.
我知道应该调用establish_connection,但是不清楚在哪里.这是我到目前为止所得到的,它不起作用:
class Foo < ActiveRecord::Base
establish_connection(('foo_' + ENV['RAILS_ENV']).intern)
end
Run Code Online (Sandbox Code Playgroud) 我在表格单元格中有一组单选按钮.表格单元格的背景颜色与页面背景不同.
基于另一个输入,我有时会禁用一个或多个单选按钮.禁用时,单选按钮的内部将采用表格单元格的背景.圆圈着色有点灰白.这结合起来使按钮看起来像"消失".仔细检查表明它仍然在那里.
我一直在努力定义一个CSS条目来改变禁用单选按钮的外观......可以这样做吗?目前,我正在做这样的事情:
.radio {
background-color: #FFFFFF;
}
.radio:disabled {
background-color: #FFFFFF;
}
Run Code Online (Sandbox Code Playgroud)
我是否必须诉诸图像?
更新不是背景问题,而是按钮的内部.当禁用时,按钮的内部呈现表格单元格的背景颜色......哦,这是一个想法.我改变了表格单元格和单选按钮.
在源代码管理系统中包含编译器,库和其他工具有哪些建议?
在过去,我遇到了一些问题,尽管我们拥有所有的源代码,但构建旧版本的产品却是一个试图获得Visual Studio,InstallShield和其他工具的正确配置(包括用于构建产品的正确补丁版本.在我的下一个项目中,我想通过将这些构建工具检查到源代码控制中来避免这种情况,然后使用它们进行构建.这也简化了设置新构建机器的工作 - 1)安装我们的源代码控制工具,2)指向正确的分支,3)构建 - 就是这样.
我考虑的选项包括:
这似乎是配置管理的一个基本概念,但我无法追踪任何资源以了解如何执行此操作.有什么建议?
如何使表单中的外键字段只读但仍允许在提交表单后将该字段识别为有效?根据 W3C,一旦提交表单,禁用字段就会被忽略......使用下面的代码,我可以将字段设置为禁用,因此只读,但我的表单不会通过
def __init__(self, *args, **kwargs):
super(IssuesForm, self).__init__(*args, **kwargs)
self.fields['vehicle'].widget.attrs['readonly'] = True
Run Code Online (Sandbox Code Playgroud)
想法……?
activerecord ×1
clearcase ×1
css ×1
django ×1
forms ×1
html ×1
radio-button ×1
readonly ×1
ruby ×1
syntax ×1