首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在rails中获取基于RailsCasts的简单搜索教程?

如何在rails中获取基于RailsCasts的简单搜索教程?
EN

Stack Overflow用户
提问于 2009-05-06 03:29:13
回答 1查看 2.2K关注 0票数 2

我按照RailsCasts教程使用autocomplete做了一个简单的搜索,但它不起作用。:(

查看/供应商/索引:

代码语言:javascript
复制
<% form_tag vendors_path, :method => 'get' do %>
    <%= text_field_with_auto_complete   :vendor, 
                                        :name,
                                        {}, 
                                        {:method => :get, :class => 'textbox'} %>
    <%= submit_tag "Search", :name => nil %>
<% end %>
</div>
<%= @searchvendor.id %>
<%= @searchterm %>

我包含了@searchterm和@searchvendor.id作为验证步骤。

所以这应该调用控制器索引供应商,action=> =>:

代码语言:javascript
复制
def index
    @searchterm = params[:vendor][:name]

    @searchvendor = Vendor.search('checkpoint')

并且为供应商/型号创建搜索方法,如下所示:

代码语言:javascript
复制
  def self.search(search)
  if search
    find(:all, :conditions => ['name LIKE ?', "%#{search}%"])
  else
    find(:all)
  end

输出是什么?

@searchterm是否显示输入的值,因为它在URL中显示为vendorname=?

@searchvendor.id是一个长字符串,而@searchvendor.name显示的是错误名称,而不是方法。

我被难住了。Help...please?

指向教程的链接:

http://railscasts.com/episodes/37-simple-search-form

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-05-06 03:35:36

搜索词你不应该把你的@

  1. 传入你的Vendor.search方法吗?每次传递'checkpoint‘可能都做不到,trick.
  2. @searchvendor将包含一个数组,因为你正在做find(:all)。您需要遍历数组并对每一项执行.name。
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/827914

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档