我有这样的架构.
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.html和http://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) 我正在使用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?
如何找出预期的序列是什么,以便我可以发送所需的内容?
我试图理解为什么你会在字符串上使用 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)