小编use*_*006的帖子

ActiveRecord通过多个连接进行查询

我有这样的架构.

数据库架构

managers  
    has_many :emails  
    has_many :stores

emails  
    belongs_to :manager

stores  
    belongs_to :manager  
    belongs_to :region

regions  
    has_many :stores  
    has_many :readings

readings  
    belongs_to :regions
Run Code Online (Sandbox Code Playgroud)

我想获得一位经理的阅读材料.在SQL中我会做这样的事情.

SELECT * FROM managers  
    JOIN stores ON stores.manager_id = managers.id  
    JOIN regions ON stores.region_id = regions.id  
    JOIN readings ON readings.region_number = regions.number  
WHERE  
    manager.name = 'John Smith'  
AND  
    regions.number = '1234567'
LIMIT 100
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚如何在activerecord中执行此操作.我一直试图理解http://guides.rubyonrails.org/active_record_querying.htmlhttp://guides.rubyonrails.org/association_basics.html但它并没有陷入其中.我想我只需要从一个不同的观点.

我以为我会访问这样的数据,但我想我只是不明白它是如何工作的.

managers.name  
managers.stores.name  
managers.stores.regions.readings.limit(10)
Run Code Online (Sandbox Code Playgroud)

我一直不得不这样这样的东西更加丑陋.

managers.first.stores.first.regions.first.readings.limit(10)
Run Code Online (Sandbox Code Playgroud)

active-record-query ruby-on-rails-4 rails-activerecord

24
推荐指数
4
解决办法
3万
查看次数

如何找出终端需要发送的转义序列?

我正在使用osX上的终端应用程序连接到ubuntu(我认为是12.04).我的终端默认设置为xerm-256.在此模式下,终端在按下F2时发送\ 033OQ序列.但是对于Shift-F2或Control-F2没有映射.Shift-Left,Shift-Right,Control-Left,Control-Right等也没有设置序列.我需要其中一些键来在各种程序中不时地操作功能.以例如byobu为例.Shift-F2和Control-F2用于垂直和水平分割屏幕.在tmux中,箭头键与shift和control一起用于调整窗格大小.

我的问题是我不知道终端应该发送什么序列.我如何找出这些序列应该是什么?我知道我可以按Control-v然后按一个键来获取正在接收的代码,但这不是我需要的.我不需要查看正在发送的序列.我需要知道我需要发送什么序列.

例如,我的左箭头发送^ [OD.我的Control-Left发送^ [[5D].但是我的上下键没有区别.我发送^ [OB和Control-down也发送^ [OB.与我的密钥相同的问题.无论有没有班次都是一样的.

是否有一个包含所有键和代码的列表,特别是修改器,如shift,control,alt/option?

如何找出预期的序列是什么,以便我可以发送所需的内容?

bash terminal ubuntu tmux byobu

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

为什么要使用 string.toString()?

我试图理解为什么你会在字符串上使用 toString() 。

tutorialspoint.com 给出了这个例子

<html>
  <head>
    <title>JavaScript String toString() Method</title>
  </head>

  <body>

    <script type="text/javascript">
      var str = "Apples are round, and Apples are Juicy.";
      document.write(str.toString( ));
    </script>

  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

为什么不直接使用

document.write(str);
Run Code Online (Sandbox Code Playgroud)

javascript

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