【问题标题】:Search within activeRecord relation ruby on rails在 activeRecord 关系中搜索 ruby on rails
【发布时间】:2017-12-02 09:09:27
【问题描述】:
这是我的控制器代码
@users = User.all
在内部视图中,我有一个下拉菜单,我可以从中选择一个用户。我想在提交之前显示该用户的详细信息。为此,我需要用户的详细信息。我不想再去数据库了。那么如何在 @users 对象中搜索该用户的详细信息。哪一个在已加载的对象中搜索或为该记录发送 ajax 请求更快、更有效?
【问题讨论】:
标签:
ruby-on-rails
ruby
model-view-controller
rails-activerecord
【解决方案1】:
在你的控制器中你做
def index
@users = user.all
end
您的控制器操作中的实例变量在视图中可用
<% @users.each do |user| %>
<%= @user.name %>
<% end %>
如果您还想显示关联,请在控制器索引操作中使用
@users = User.includes(:your_association)
【解决方案2】:
您可以通过不同的方式做到这一点。
1.我们可以根据用户编写ajax调用,并通过ajax显示数据。
2.在同一页面制作内容,根据用户显示或隐藏
方式 2 是最不推荐的方式,将详细信息放在同一页面中,并使用 js 来显示其内容。
例如。我们有 id=2 的用户,您想查看该用户的所有详细信息,然后使用用户循环制作所有用户的详细信息并隐藏它们
<div id='user-1' class='hidden'> all details of user 1</div>
<div id='user-2' class='hidden'> all details of user 2</div>
<div id='user-3' class='hidden'> all details of user 3</div>
编写一个简单的 Jquery 或 JavaScript,它将根据您选择的用户删除隐藏的类,用户将能够看到他们想要查看的那些用户的详细信息(不要忘记隐藏所有其他用户信息)。它会增加页面大小,并且我们有很多我们不想显示的数据。