Rails搜索结果问题

时间:2014-01-24 23:24:50

标签: ruby-on-rails search

我正在尝试在Rails 4中创建一个搜索功能。我已正确实现它并显示我想要的结果,但它也返回并显示整个数据库查询 - 表中的所有列包括密码摘要等。我以前做过这个,但没有碰到这样的问题。想知道我做错了什么。

这是我的控制器:

def index
    if params[:search]
        @pro = Admin.search(params[:search])
    else
        @pro = Admin.all
    end
end

管理模式:

def self.search(search)
    if search
        where('name LIKE ?', "%#{search}%")
    else
        scoped
    end
end

这是我的观点:

<%= @pro.each do |ind| %>
<ul>
    <li><%= ind.name %></li>
</ul>
<% end %>

在Chrome中,我会根据需要在搜索中看到个人的返回姓名,加上元数据,例如id:1,admin_id:2,name“”,email:“”,password_digest:“”等。以数组格式。这就是让我感到难过的,不知道为什么它会显示出来。

当我用chrome检查页面时,数组只是粘贴在标签下面。

当我删除@pro上的整个.each方法时,它就消失了。任何人都可以提供的见解表示赞赏。

1 个答案:

答案 0 :(得分:4)

视图中的行应为<% @pro.each do |ind| %>。如果您正在执行<%= %>,则结果是实际的@pro数组,这就是您将其粘贴到代码下的原因。