1

私はここで何が間違っているのかを理解しようと24時間以上費やしました。助けてくれませんか。これは私が持っているものです。

Lyrics_Controller.rb

def index
   @search = Sunspot.search(Lyric) do
    fulltext params[:search]
  end
  @lyrics = @search.results

    respond_to do |format|
      format.html # index.html.erb
      format.json { render :json => @lyrics }
    end
  end

Lyrics.rb(モデル)

class Lyric < ActiveRecord::Base
  has_many :styles
  belongs_to :artist

   extend FriendlyId
   friendly_id :name, :use => :slugged


searchable do
  text :name, :body
end
end

私の見解では、私はそのような検索フォームを持っています。

<%= form_tag lyrics_path, :method => :get do %>
                      <p>
                        <%= text_field_tag :search, params[:search] %>
                        <%= submit_tag "Search", :name => nil %>
                      </p>
<% end %>

検索しようとするとエラーが発生します

LyricsController#indexのNoMethodError未定義のメソッド `closed? ' nilの場合:NilClass Rails.root:/ Users / sigidis / Ruby / stagesong

アプリケーショントレース| フレームワークトレース| フルトレースapp/controllers/lyrics_controller.rb:10:in`index'

これはログです。

GET "/lyrics?utf8=%E2%9C%93&search=Soweto" for 127.0.0.1 at Sat Sep 17 11:37:04 +0200 2011 DEPRECATION WARNING:class_inheritable_attributeは非推奨です。代わりにclass_attributeメソッドを使用してください。それらの動作はわずかに異なることに注意してください。最初にclass_attributeのドキュメントを参照してください。(/Users/sigidis/Ruby/stagesong/app/models/lyric.rb:10から呼び出されます)非推奨の警告:class_inheritable_attributeは非推奨です。代わりにclass_attributeメソッドを使用してください。それらの動作はわずかに異なることに注意してください。最初にclass_attributeのドキュメントを参照してください。(/Users/sigidis/Ruby/stagesong/app/models/lyric.rb:10から呼び出されます)HTMLパラメーターとしてのLyricsController#indexによる処理:{"utf8" => "\ 342 \ 234 \ 223"、 "search" = >"Soweto"}は2ミリ秒で500の内部サーバーエラーを完了しました

NoMethodError(未定義のメソッドclosed?' for nil:NilClass): app/controllers/lyrics_controller.rb:10:inインデックス '

レンダリングされた/Library/Ruby/Gems/1.8/gems/actionpack-3.1.0/lib/action_dispatch/middleware/templates/rescues/_trace.erb(0.9ms)レンダリングされた/Library/Ruby/Gems/1.8/gems/actionpack-3.1 .0 / lib / action_dispatch / ミドルウェア/templates/rescues/_request_and_response.erb(0.7ms)レンダリングされた/Library/Ruby/Gems/1.8/gems/actionpack-3.1.0/lib/action_dispatch/middleware/templates/rescues/diagnostics。レスキュー/レイアウト内のerb(3.1ms)

何が間違っているのかわかりません。誰か助けてくれませんか。

これも試してみました

http://collectiveidea.com/blog/archives/2011/03/08/full-text-searching-with-solr-and-sunspot/

そしてこの http://railscasts.com/episodes/278-search-with-sunspot

4

1 に答える 1

1

サンスポーツの宝石を始めるのを忘れていました。

于 2011-10-07T07:32:47.290 に答える