Tag: 数组

如何查找查询结果的大小

我在rails中有以下查询: records = Record.select(‘y_id, source’) .where(:source => source, :y_id => y_id) .group(:y_id, :source) .having(‘count(*) = 1’) 如果我puts records我会得到以下输出: [#, #] 这看起来像输出数组中有2个元素。 但是当我尝试做records.size我得到: {[10000009, “XYZ”]=>1, [10000070, “XYZ”]=>1} 当records是一个包含2个元素的数组时,为什么records.size不会打印2 ? 由于某种原因group by查询结果group by行为是否有所不同? 我该怎么做才能获得records的大小

Rails:将值序列化为逗号分隔而不是YAML

我正在寻找一种存储序列化值的方法,例如。 列中的ID。 在声称这不是最佳设计之前:该列用于关联记录的ID,但仅在显示记录时使用 – 因此不会对列上的选择进行查询,并且不会在此列上进行连接无论是。 在Rails中,我可以使用以下命令序列化列: class Activity serialize :data end 这将列编码为YAML。 由于传统的缘故,因为我只存储只包含整数的一维数组,所以我发现它更适合将它存储为逗号分隔值。 我已经成功实现了这样的基本访问器: def data=(ids) ids = ids.join(“,”) if ids.is_a?(Array) write_attribute(:data, ids) end def data (read_attribute(:data) || “”).split(“,”) end 这很好用。 但是我想在这个属性中添加类似数组的方法: activity = Activity.first activity.data << 42 … 我该怎么办?

rails在模型中validation值是否在数组内

我有一个表单,我传递一个名为 :type的字段 ,我想检查它的值是否在允许类型数组中,以便不允许 任何人发布不允许的类型 。 数组看起来像 @allowed_types = [ ‘type1’, ‘type2’, ‘type3’, ‘type4’, ‘type5’, ‘type6’, ‘type7’, etc… ] 我尝试过使用 validates_exclusion_of或validates_inclusion_of但它似乎不起作用

当某些东西存储为数组时,Rails where子句

我正在使用PG数据库运行rails 4.2。 我有一个存储在数据库中的项目,如(model Item ): :something => [“1”, “2”, “3”] 我想得到Item.where(:something.include? => “3”) 显然这不起作用 – 但是你打算如何在rails中做到这一点?

凌乱&从Rails 3控制器返回查看

在我的Rails 3 app控制器上,我有以下代码: array = [] Location.all.each{|x|array<<x.city.html_safe} @data_dump = array 在Rails控制台中,它看起来很干净: [“Littelside”, “Tessmouth”] 在我看来,@ data_dump对象被编码: ["Littelside", "Tessmouth"] 你怎么清理这个烂摊子? 我希望我的对象在视图中,以对象在终端中返回。 提前致谢!

Rails:获取记录的位置?

假设我有一个Questions模型,我将所有答案都提取到一个特定问题。 我可以轻松地执行each_with_index并找出答案的索引或“位置”(与该特定问题的其他答案相关)。 但是,说我想得到一个具体的答案……我怎么还能弄清楚答案的索引与特定问题相关的所有其他答案的关系。 示例Answer数据: ID text question_id 23 awesome 3 27 boooyah 3 38 snap 3 如果我做了Answer.find(27)我怎么能弄清楚该记录是第二项(假设我按ID排序……虽然我可以在任何领域订购)。

将JSON数据存储在mysql中

我有一个组织表例如 ID, name, address, phone, email, etc… 现在我想添加多个地址,电话和电子邮件。 这是在这样的电子邮件列中存储json数据的好方法 [ “address2@example2.com”, “address2@example2.com”, “address2@example2.com” ] 或者为电子邮件创建另一个表,为电话等创建另一个表… 如果存储json数据更好 – 在rails中使用它的最佳方法是什么?

Rails – 返回select标签的月份数组

我在Rails 2.3.8上的应用程序中,需要返回一个月份名称和数字的数组,以插入到options_for_select语句中。 到目前为止我所做的是有点工作,但不是真的。 我这样做的原因是因为select语句需要一个提示,默认情况下你不能在2.3.8中给出options_for_select(至少据我所知)。 这是我到目前为止: @months = [[‘-‘, ”]] (1..12).each {|m| @months << [[Date::MONTHNAMES[m], m]]} 所以我想要返回的是这样的选项: January February 但是,相反,我得到: January1 February2 我错过了什么?

Rails:添加迁移以添加数组(默认为空)

我正在尝试将一个名为share的列添加到我的一个资源中。 这个想法是用户可以上传文档并与其他(特定)用户共享,并且该数组包含用户想要与之共享的电子邮件。 我尝试使用代码添加迁移 class AddShareToDocuments [] end end 但是当我在命令提示符下打开rails console时,它表示share:nil和user.document.share.class是NilClass。 通过键入在rails控制台沙箱中创建一个新数组 newarray = [] 说newarray.class是Array。 谁能发现我做错了什么?

使用带有fields_for的数组

如何使用fields_for迭代一组对象(所有相同的模型)? 该数组包含current_user创建的对象。 我目前有: 3 %> current_user.id %> 但我想用我在控制器中创建的数组替换:descriptbyuser – @descriptionsFromCurrentUser 这也是Ryan Bate的“nested_form_for”内部 任何指针将不胜感激! 亚当