小编Chr*_*ris的帖子

如何一次返回2个json对象?

我有一个控制器返回一个像这样的json结构:

def show
  # .......
  o_json = deep_object_1_to_json(o)
  render :json => o_json
end

private
def deep_object_1_to_json(o)
  o.to_json(
    :include => {....})
end
Run Code Online (Sandbox Code Playgroud)

现在我需要扩展它以返回2个对象.然而,明显的解决方案是给我带来问题:

def show
  # .......
  o1_json = deep_object_1_to_json(o)
  o2_json = deep_object_2_to_json(o)
  render :json => 
  {
         :object_1 => o1_json,
         :object_2 => o2_json
  }
end
Run Code Online (Sandbox Code Playgroud)

这将返回一个带有2个转义的json数据字符串的json对象!

deep_object_2_to_json函数已经有几层嵌套包含,所以我宁愿不必将它们重构为单个函数.有没有办法使这个可以轻松扩展,以便将来添加更多的对象,而不会出现上面的双重转义问题?

谢谢你的任何指示.

rest json ruby-on-rails ruby-on-rails-3

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

iOS:如何使用多个插值参数本地化字符串?

我如何使用NSLocalizedString构建具有多个参数的字符串,同时让翻译器控件根据需要更改顺序?

我的Localizable.string中的一个示例是:

"score_out_of"="Your score is %i out of %i";
Run Code Online (Sandbox Code Playgroud)

并且会像

[NSString stringWithFormat:NSLocalizedString(@"score_out_of", nil), correct, total];
Run Code Online (Sandbox Code Playgroud)

但是在某些语言环境中,语法规则可能会规定总数必须正确。在目标C中,插值顺序似乎是硬编码的。

在其他语言中,这是通过命名参数来实现的,例如在ruby中将其定义为:

out_of: "Your score is %{correct} out of %{total}"
Run Code Online (Sandbox Code Playgroud)

并像这样调用:

I18n('out_of', {total: total, correct: correct})
Run Code Online (Sandbox Code Playgroud)

在iOS / Objective C上完成相同任务的推荐方法是什么?

localization objective-c internationalization nslocalizedstring ios

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

如何阻止绝对div从父母溢出?

我父母内部有一个长div.

我认为它需要绝对定位,因为我想要水平滚动.

但是我只希望父div中的部分可见.我以为设置溢出:隐藏在父级上会实现这一点,但是没有这样的运气....

看一下这个js小提琴的例子.

有谁知道如何获得这种效果?

谢谢

html css layout html5

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

是否有可能干扰此迁移?

我有一个表,文件夹,我想要一些其他表引用,到目前为止,我的迁移脚本如下所示:

create_table :folders do |t|
  t.timestamps
end

....

change_table table1 do |t|
  t.references :folders
end
change_table table2 do |t|
  t.references :folders
end
change_table table3 do |t|
  t.references :folders
end
change_table table4 do |t|
  t.references :folders
end
Run Code Online (Sandbox Code Playgroud)

由于我对每个表基本上做同样的事情,是否有更简洁和可维护的方式来编写它?

谢谢

ruby migration activerecord ruby-on-rails dry

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

setTimeout没有污染全局命名空间?

考虑以下javascript:

$(function(){
  var private_function = function(){
    alert("private_function!");
  }

  setTimeout("private_function();", 1000);  

});
Run Code Online (Sandbox Code Playgroud)

这会产生错误"private_function not defined".

有没有办法在javascript中推迟执行私有/匿名函数而不污染全局命名空间/通过全局模块公开它?

谢谢你的任何建议.

javascript jquery global-variables

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

MySQL访问被拒绝1045错误

我收到一个非常奇怪的错误,我创建了一个用户'testuser',其中包含以下凭据:

CREATE USER 'testuser'@'%' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'testuser'@'%';
FLUSH PRIVILEGES;
Run Code Online (Sandbox Code Playgroud)

我还修改了我的/etc/mysql/my.cnf,不要绑定到任何一个地址.(哪个afaik应该接受来自任何地方的连接?)并重新启动mysql.

我可以在本地连接没问题.

我在ubunutu的虚拟盒子里面跑.

试图从我的Windows机器连接,给我MySQL错误号码1045访问被拒绝用户'testuser'@'192.168.0.22'.

我确信这不是网络问题,因为更改主机或端口会产生不同的错误"无法连接到指定的实例"

以root身份登录并查看users表 - 所有内容都按预期显示.(单行,'%'表示主机和所有权限设置.)

我整个下午一直在撞墙,有人可以提出任何其他可能导致此错误的原因吗?

谢谢你的帮助.

mysql networking mysql-error-1045

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

如何在Active Record中的特定日期之后或之前搜索日期字段

我知道我可以使用范围来搜索两个日期之间的日期.例如:

User.where(:created_at => start_date..end_date )
Run Code Online (Sandbox Code Playgroud)

但是,如何在日期之前或之后对所有日期进行开放式搜索?

谢谢你的帮助

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

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

Backbone:在单个请求中批量保存模型?

我有一个单页应用程序使用骨干来管理模型集合.

有时这个集合变得非常大,如果用户执行的操作会改变很多,这会导致.save被多次调用.在某些情况下,导致数百个ajax请求同时触发.

骨干网是否为这样的批量操作提供了单一的请求?或者是否有首选模式可供使用?

谢谢你的建议.

javascript ajax backbone.js backbone-events backbone.js-collections

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

Jquery UI更改滑块手柄宽度?

我想制作滑块刻度的句柄,以给出滑块范围的视觉效果(例如,大多数浏览器中的滚动条).

做了一些谷歌搜索,答案似乎是修改.ui-slider-handle类.

我已经完成了这个并且句柄现在已经完成了: 例 这是我用来设置滑块的代码:

var range = 2 + Math.floor(Math.random() * 10);

$('#slider').slider({max: range});

$('.ui-slider-handle').width($('#slider').width() / range);
Run Code Online (Sandbox Code Playgroud)

这里还有一个实例的链接:http://tcusers.com/examples/6473423467/example.html

这就好像图书馆假设滑块的旧宽度,有没有人有任何建议来完成我想要的?我宁愿避免破解jquery ui核心库.

提前致谢

javascript css jquery jquery-ui jquery-ui-slider

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

有没有更好的方法来编写这种类型的零检查?

我的代码中有几个地方有嵌套对象,但不能保证它们总是被设置.

这可以给我一个nil的红宝石未定义方法:NilClass

puts obj1.obj2.obj3.obj4.to_s
Run Code Online (Sandbox Code Playgroud)

这项检查是丑陋和重复的:

if(obj1 && obj1.obj2 && obj1.obj2.obj3 && obj1.obj2.obj3.obj4)
  puts obj1.obj2.obj3.obj4.to_s
end
Run Code Online (Sandbox Code Playgroud)

是否有一种简洁的写作方式,如果有什么是零只是默默地失败?

ruby

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

注入不按预期工作

谁能解释为什么这两段代码不相同?要么我缺少一些东西,要么注入不做我认为它做的事情.鉴于:

nodes = [{id: 1}, {id: 2}]
Run Code Online (Sandbox Code Playgroud)

这段代码:

result = Hash.new
nodes.each do |node|
  result[node[:id]] = node.inspect
end
result
Run Code Online (Sandbox Code Playgroud)

回报

 {
  1 => "{:id=>1}",
  2 => "{:id=>2}"
}
Run Code Online (Sandbox Code Playgroud)

但是这个:

nodes.inject({}) {|hash, node|hash[node[:id]] = node.inspect}
Run Code Online (Sandbox Code Playgroud)

收益:

"{:id=>2}"
Run Code Online (Sandbox Code Playgroud)

为什么?

ruby inject

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

替换数组中的元素(ruby)

我有2个对象数组,我想合并它们,以便生成的数组将包含第一个数组中的所有元素,替换第二个数组具有相同id对象的任何元素.

  finalArr=[]
  arr1.each do |e1|
    set2Contains=false
    arr2.each do |e2|
      if(e2.id==e1.id)
        set2Contains=true
      end
    end
    if(set2Contains)
      finalArr.push(e2)
    else
      finalArr.push(e1)
    end
  end
Run Code Online (Sandbox Code Playgroud)

我是红宝石的新手,但由于它是一个衬里的王者,上面看起来有点冗长.我想知道我的代码是否可以以任何方式缩短/优化?

谢谢你的任何建议

ruby arrays

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