0

我按照这个railscast 在我的应用程序上实现搜索,但是在提交搜索时,页面呈现为空白。

这是我的show.html.erb

<div class"row">
    <div class="span12">
        <h1>Resultados para <%= @search.keywords %>: <%= @search.noticias.size %></h1>
    </div>
</div>

和我的search.rb

class Search
  include Mongoid::Document
  include Mongoid::Timestamps

  field :keywords, type: String

  def noticias
    @noticias ||= find_news
  end

  private 
  def find_news
    noticia = Noticia.fulltext_search(keywords)
    noticia
  end

结尾

这是html输出:

<h1>Resultados para : 0</h1>

我很确定我在这里遗漏了一些愚蠢的东西,但我看不到

编辑

search_controller.rb

class SearchesController < ApplicationController
  def new
    @search = Search.new
  end

  def create
    @search = Search.create!(params[:search])
    redirect_to @search
  end

  def show
    @search = Search.find params[:id]
  end
end

实际上,搜索是保存在 mongodb 上的,所以我认为我不会错过keyword任何地方,因为该应用程序仅在我将当前关键字保存到模型并显示当前搜索模型后才进行搜索

表格

<%= form_for Search.new, :html => { :class => "navbar-search pull-right"} do |f| %>
    <input type="text" class="span2 search-query" placeholder="Pesquisar notícias" name="search[keyword]">
<% end %>
4

0 回答 0