我正在尝试在Rails4中创建一个搜索函数。我已经正确地实现了它,它显示了我想要的结果,但是它也返回并显示了整个数据库查询-表中的所有列,包括密码摘要等。我以前这样做过,但没有遇到过这样的问题。想知道我是不是做错了什么。
这是我的控制器:
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方法时,它就消失了。任何人都可以提供的任何见解都是值得感谢的。
发布于 2014-01-25 07:28:09
视图中的行应该是<% @pro.each do |ind| %>。如果您正在执行<%= %>,则结果是实际的@pro数组,这就是为什么要将其粘贴到标记下的原因。
https://stackoverflow.com/questions/21344327
复制相似问题