在Rails中为多个字段实现自动完成

时间:2011-03-23 01:49:02

标签: ruby-on-rails autocomplete ruby-1.8 ruby-on-rails-2

1 个答案:

答案 0 :(得分:2)

所以,部分内容:

  1. 当你获得投资者团体时,你只会得到一个名为“collect(&:title)”的头衔。删除它以获得整个对象;
  2. 您不需要使用正则表达式,您已经在条件中获得了与LIKE匹配的标题;
  3. 而不是渲染内联,尝试制作一个部分,在LI标记内呈现所需的全部内容。渲染内联和content_tag是好的,当你需要的只是一个小文本,但是“更大的东西”,更喜欢偏见。
  4. 对不起任何爱好者。

    <强>更新

    收集(&amp;标题)说“你找到的所有投资者群体,只给我他们的头衔”。因此,仅使用:

    将其完全删除
    InvestorGroup.find(:all, find_options)
    

    它说“给我你找到的投资者群体”,所以你将有一系列的投资者群体在部分投资者中使用。这样,您可以在自动完成列表中显示所需的数据,就像在index.html中一样,使用“for”语句,在“li”元素中放置图像,标题和激活的成员大小。

    对不起任何爱好者。

    <强>重新更新

    几乎就在那里。对于自动完成工作,自动完成方法的响应必须是列表。因此,部分将是:

    <ul>
      <% for inv_group in @investor_group2 %>
        <li><%=h inv_group.title %>, <%=h inv_group.activated_members.size %></li>
      <%end%>
    </ul>
    

    每个项目都由li标签包裹,并且全部由ul标签包裹。如果您查看前面的代码,这正是它的工作原理:

    content_tag(:ul, @investor_group2.map { |title| content_tag(:li, h(title)) })
    

    一个ul内容标记,包含包含标题的li内容标记。

    我确实将标题和大小分成两个erb,因为我从未尝试过将两个信息放在同一个中,如果有效的话,现在不要。

    对不起任何爱好者。