【问题标题】: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,它将根据您选择的用户删除隐藏的类,用户将能够看到他们想要查看的那些用户的详细信息(不要忘记隐藏所有其他用户信息)。它会增加页面大小,并且我们有很多我们不想显示的数据。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-02-23
        • 1970-01-01
        • 1970-01-01
        • 2010-11-05
        • 1970-01-01
        • 1970-01-01
        • 2018-12-06
        相关资源
        最近更新 更多