小编JP *_*shy的帖子

Rails,嵌套has_many关联,找到所有孩子

我有一些看起来像这样的嵌套模型:

class Company
  has_many :managers
end

class Manager
  has_many :employees
end

class Employee
  has_many :tasks
end

class Task
end
Run Code Online (Sandbox Code Playgroud)

所以这一切都很好,但如果我在Company控制器中并希望获得Task.ids该公司所有员工的所有权利呢?最大的问题是Mongoid没有has_many :through => resource_name像AR这样的东西,所以我怎么能避免像丑陋的东西:

@company = Company.find params[:id]

@company.managers.each do |manager|
  manager.employees.each do |employee|
    employee.tasks.each do |task|
      puts task.id
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails

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

Postgres从JSON转换为UUID

我有两个非常简单的表sessions,其中有一个json像这样的列:

+----+-------------------------------------------------------+
| id |                         data                          |
+----+-------------------------------------------------------+
|  1 | { "user_id": "bc2166dd-ca1d-41c6-9c66-610f844ca139" } |
+----+-------------------------------------------------------+
Run Code Online (Sandbox Code Playgroud)

还有一个users像这样的表:

+--------------------------------------+--------------------+
|                  id                  |       email        |
+--------------------------------------+--------------------+
| bc2166dd-ca1d-41c6-9c66-610f844ca139 | foobar@example.com |
+--------------------------------------+--------------------+
Run Code Online (Sandbox Code Playgroud)

有没有办法json像这样联接列类型的内容?

with recursive active_sessions AS (
  select
  data->'users_id' as sid
  from sessions
)

select *
from active_sessions
join users ON active_sessions.sid = users.id
where sid is not null;
Run Code Online (Sandbox Code Playgroud)

在我的基本尝试中,我陷入了困境,似乎无法获取可以在联接中使用的json文本,但出现了以下错误:

[22P02] ERROR: invalid input syntax for uuid: ""bc2166dd-ca1d-41c6-9c66-610f844ca139""
Run Code Online (Sandbox Code Playgroud)

注意双引号...?

我也尝试过user_id在select中进行强制转换, …

postgresql

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

使用CSS自动插入<br />标签

我是CSS的新手,我想尽量减少我在HTML文档中做的标记量.

有没有办法将换行定义为具有以下内容:对于我已定义<br />的给定<div>,我可以执行以下操作:

.description {
        br: on;
    color: #D3E22A;
    width: wrap; 
}
Run Code Online (Sandbox Code Playgroud)

html css

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

JQuery:如何知道值的选择名称?

我需要在其值已知时获取select(#Dropdown)的名称,但似乎无法使语法正确.这是一个例子:

$(document).ready(function()
{
   var countrycode = '55';
   var name = $("#Dropdown[value=countrycode]").text();  // fails here
   if(name == 'Germany')
   {..... etc
Run Code Online (Sandbox Code Playgroud)

当我能够使用"this"时,我可以在不同的上下文中按照以下方式工作:

var name = $(this[value=countrycode]).text();
Run Code Online (Sandbox Code Playgroud)

...但是在第一个例子中没有.

任何人?谢谢.

javascript jquery select

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

Rails,获取值的列名

这可能有点奇怪,但是如何从模型中的对象中获取列名?

例如,我有一个表恰好将其中的所有50个状态作为单独的列(我知道,我知道这可能更有效),所以它们看起来像:

al_allowed, ak_allowed, etc...
Run Code Online (Sandbox Code Playgroud)

这些列是布尔值,但我想在我的模型中知道如何获取列名?,例如,如果对于特定记录(在本例中为Campaigns),我想查看哪些状态已被检查,以及它们是否为True ,我想把州名缩写(列名)推入一个数组.

ruby-on-rails

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

Ruby,组合数组中的项目?

我有一个输出不同数量的数组的方法,如下所示:

[["unidentified object", 50], ["person", 22], ["car", 55], ["SUV", 32], ["large_vehicle", 76]] 
[["unidentified object", 167], ["person", 104], ["car", 265], ["SUV", 129], ["large_vehicle", 355]] 
[["unidentified object", 1963], ["person", 413], ["car", 1962], ["SUV", 996], ["large_vehicle", 2027]] 
[["unidentified object", 1526], ["person", 373], ["car", 1560], ["SUV", 765], ["large_vehicle", 1706]] 
[["unidentified object", 1234], ["person", 316], ["car", 1705], ["SUV", 895], ["large_vehicle", 1712]]
Run Code Online (Sandbox Code Playgroud)

但是,我真的希望有一个散列,其中包含所有数组中每个项目的总计,例如:

[{:class => "unidentified object", :count => 7234}, {:class => "person", :count => 5231}, {...}]
Run Code Online (Sandbox Code Playgroud)

那有意义吗?我完全需要了解数组和哈希方法的工作原理,但任何提示都会有所帮助.

ruby arrays

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

Ruby中的推论统计

所以这是一部分数学,部分红宝石,部分统计问题,我只是不知道从哪里开始这样的东西,因为它可能比我现在准备的要大得多,但是也许有人能够阐明如何为这类事情实施解决方案.

基本上,随着时间的推移,我有一组整数,说我的哈希看起来像:

{ :count => 20, :timestamp => 1304566372 }
{ :count => 23, :timestamp => 1304566382 }
{ :count => 23, :timestamp => 1304566392 }
{ :count => 24, :timestamp => 1304566402 }
{ :count => 25, :timestamp => 1304566412 }
{ :count => 22, :timestamp => 1304566422 }
{ :count => 12, :timestamp => 1304566432 } # <= outlier 
{ :count => 21, :timestamp => 1304566442 }
{ :count => 20, :timestamp => 1304566452 }
Run Code Online (Sandbox Code Playgroud)

这组数据会大得多,但这可以作为一个例子,所以我想做的就是找到与平均值差别最大的结果,但整数将遵循一种曲线,所以你可以' t只是平均整套.图片就像对网站的访问者分析.

我想我的问题是,使用ruby,我可以使用数学来概括曲线并找出哪些项目与曲线的那一段上的平均值相差最远? …

ruby statistics

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

Ruby,在循环数组时跳过项目?

说我有一个像这样的数组:

[ 
  {"timestamp"=>"1", "count"=>4488.0},
  {"timestamp"=>"2", "count"=>4622.0},
  {"timestamp"=>"3", "count"=>4655.0},
  {"timestamp"=>"4", "count"=>4533.0},
  {"timestamp"=>"5", "count"=>4439.0},
  {"timestamp"=>"6", "count"=>4468.0},
  {"timestamp"=>"7", "count"=>4419.0},
  {"timestamp"=>"8", "count"=>4430.0},
  {"timestamp"=>"9", "count"=>4429.0},
  {"timestamp"=>"10", "count"=>4502.0},
  {"timestamp"=>"12", "count"=>4497.0},
  {"timestamp"=>"13", "count"=>4468.0},
  {"timestamp"=>"14", "count"=>4510.0},
  {"timestamp"=>"15", "count"=>4547.0},
  {"timestamp"=>"16", "count"=>4471.0},
  {"timestamp"=>"17", "count"=>4501.0},
  {"timestamp"=>"18", "count"=>4451.0},
  {"timestamp"=>"19", "count"=>4453.0},
  {"timestamp"=>"20", "count"=>4593.0},
  {"timestamp"=>"21", "count"=>4540.0},
  {"timestamp"=>"22", "count"=>4516.0},
  {"timestamp"=>"23", "count"=>4494.0}
]
Run Code Online (Sandbox Code Playgroud)

我想循环它将每个x项目放在一个新的数组中,所以就像说我想写一个方法,接受一个类似的my_arr.skip(5)东西?我有点卡在这里,不知道该怎么办.任何帮助都将非常感激.

ruby arrays

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

在rails中包含模块和类

我很难在一个文件中包含一些视图助手/lib,比如说我有这个:

module TwitterPost
  include ActionView::Helpers::NumberHelper

  def update
    number_with_delimiter(1234567)
  end
end
Run Code Online (Sandbox Code Playgroud)

我明白了:

NoMethodError: undefined method `number_with_delimiter' for TwitterPost:Module
Run Code Online (Sandbox Code Playgroud)

但是在我的控制台中,我能够做到这一点include ActionView::Helpers::NumberHelper,然后我能够做到number_with_delimiter(1234567)并且它的工作正常.

为什么是这样?我需要包含ActionView::Helpers::NumberHelper在一堆不同的模型中,但我没有运气让它发挥作用.

ruby ruby-on-rails

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

Ruby字节串到整数数组?

我在ruby中有一个这样的字符串:"\x00\x00\xff"如何获得整数数组?我对如何正确表示字节感到困惑.

例如,我如何将其转换为这样的数组?

[ 0, 0, 255 ] 
Run Code Online (Sandbox Code Playgroud)

更新

我已经尝试了下面的例子,这就是我遇到麻烦的地方,比如"\x00\x00\xff".bytes应该工作但是我得到了这个:

[92, 120, 52, 48, 92, 120, 102, 102, 92, 120, 53, 53]
Run Code Online (Sandbox Code Playgroud)

就像每个字符都返回它的字节代码而不是识别它们是单独的字节.如何防止字符串"\ x00\x00\xff"被解释为字面上的字符串?

ruby

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

路由问题,rails生成错误的url

首先,感恩节快乐.

所以我的问题是我的路线,我不清楚为什么id param实际上包含整个对象.Rails给了我这个错误:

user_url failed to generate from {:action=>"show", :controller=>"users", :id=>#<User id: 19, username: "Dr. Dorothy Buckridge", email: "kyra@hansenstehr.ca", crypted_password: nil, password_salt: nil, persistence_token: nil, created_at: "2009-11-10 19:38:31", updated_at: "2009-11-10 19:38:31", perishable_token: "", color: nil>}, expected: {:action=>"show", :controller=>"users"}, diff: {:id=>#<User id: 19, username: "Dr. Dorothy Buckridge", email: "kyra@hansenstehr.ca", crypted_password: nil, password_salt: nil, persistence_token: nil, created_at: "2009-11-10 19:38:31", updated_at: "2009-11-10 19:38:31", perishable_token: "", color: nil>}
Run Code Online (Sandbox Code Playgroud)

此行发生错误:

<%= link_to recipe.user.username, recipe.user, :class => "user" %>
Run Code Online (Sandbox Code Playgroud)

任何的想法?看起来它应该只生成该id属性的对象.

我的控制器是:

def index
  @recipes …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails

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

Carrierwave俄语文件名

我需要保存带有俄语名称或音译文件名的文件.我试试这个:

1)在document_uploader中:

def filename
  @name ||= "#{Russian::transliterate(original_filename)}.#{file.extension}" if original_filename.present?
end
Run Code Online (Sandbox Code Playgroud)

2)在document.rb中:

我使用相同的逻辑创建before_create回调方法,但没有看到任何结果.

上传后的文件名称如下:"______________.doc"

我该做什么?

file-upload ruby-on-rails utf-8 character-encoding carrierwave

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