我想知道如何从对象示例中获取特定记录
'use strict';
var shim = '(' + function() {
if(typeof window.showModalDialog !== 'function') {
window.showModalDialog = function() {
var opts = arguments[2];
opts = opts
.replace(/;/g, ',')
.replace(/:/g, '=')
.replace(/dialogWidth/g, 'width')
.replace(/dialogHeight/g, 'height')
.replace(/center/g, 'centerScreen');
return window.open.call(this, arguments[0], '_blank', opts );
};
}
} + ')();';
var scriptEl = document.createElement('script');
scriptEl.textContent = shim;
(document.head||document.documentElement).appendChild(scriptEl);
在@user = User.all
中,我想只显示第3顺序中的记录,我试试,但这给了我所有的记录。 :
index.html.erb
我发现了这个:
<% @user.each do |u| %>
但是没有用,我不知道如何在<% @user.find{|b| b.id == 1}%>
<%= @service.full_name%>
答案 0 :(得分:0)
您也可以直接在模板中使用数组元素。有理由 - 如果你需要所有其他用户
<div class="super-user">
<%= @users[3].name %>
</div>
<div class="other-users">
<% @users.each do |u| %>
<a href="#">Destroy Him!</a>
<% end %>
</div>
如果您不需要所有其他用户,请不要全部取用。使用find
或find_by
方法,例如
@user = User.find(4) # finds user by id=4
或
@user = User.find_by(name: 'user', admin: true) # finds by hash arguments
甚至
# fetch direcly 3-th user from database
@user = User.order(:id).limit(1).offset(2).first
答案 1 :(得分:0)
你也可以写
@user = User.all.third
鲍里斯是对的,虽然只是返回所有记录是一个不好的做法。此时可能不会引人注意,但随着数据库中User
条记录的数量增加,此查询将按比例变慢。所以更好的选择是
@user = User.third