0

Rails 3.2.5 应用程序。很简单,只有一个模型:listing

有列网站、网址、医生、评论和日期。

在这一集刚开始 9 分钟时,他访问了 localhost:3000/cateogories.js,类别以列表形式出现在页面上。

在我的情况下,它会是 Listings.js

我在 JS 控制台中没有收到任何错误,浏览器只是空白。在我的终端上它说

在 2012 年 10 月 10 日 13:20:41 -0500 开始 GET "/listings.js" for 127.0.0.1
由 ListingsController#index 处理为 JS
渲染的列表/index.js.erb (0.1ms)
在 8ms 内完成 200 OK (观看次数:7.7 毫秒 | ActiveRecord:0.0 毫秒)

我的 index.js.erb 文件(如果我错了,请纠正我),进入视图/列表,代码是:

<%= auto_complete_result @listings, :website %>

我想为 :url、:website、:comments 和 :doctor 设置自动完成功能,但这不是我现在主要关心的问题。只是想让它工作。

我在 listings_controller.rb 中的索引是

def index
  @listings = Listing.search(params[:search_text]) 
    respond_to do |format|
      format.js
  end
end

我的 application.html.erb 文件包括

<%= javascript_include_tag :defaults %>

而且我不确定这在 rails 3.2 中是否有必要(虽然它已在 railscasts 中列出,但它有点旧)。

知道为什么 localhost:3000/listings.js 是空白的(我在数据库中有 5 个列表)吗?任何输入表示赞赏。谢谢 :)

4

1 回答 1

1

仅对所有列表进行尝试:

def index
  @listings = params[:search_text].nil? ? Listing.all : Listing.search(params[:search_text])
    respond_to do |format|
      format.js
  end
end

我认为因为您正在使用搜索,所以您不能只去页面查看结果params[:search_text],当然这不取决于您如何处理search方法。您可以通过检查参数来处理它,但最好在搜索实现中处理它。上面的代码应该可以工作。

于 2012-10-10T19:09:16.850 回答