我正在尝试在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方法时,它就消失了。任何人都可以提供的见解表示赞赏。
答案 0 :(得分:4)
视图中的行应为<% @pro.each do |ind| %>
。如果您正在执行<%= %>
,则结果是实际的@pro
数组,这就是您将其粘贴到代码下的原因。