【问题标题】:undefined method `closed?' for nil:NilClass Ruby on Rails Sunspot未定义的方法“关闭?”对于 nil:NilClass Ruby on Rails 太阳黑子
【发布时间】:2011-09-17 09:53:11
【问题描述】:

我花了超过 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 %>

当我尝试搜索时出现错误

LicenseController#index 中的 NoMethodError 未定义的方法“关闭?”对于零:NilClass Rails.root: /Users/sigidis/Ruby/stagesong

应用程序跟踪 |框架跟踪 |全跟踪 app/controllers/lyrics_controller.rb:10:in `index'

这是日志。

2011 年 9 月 17 日星期六 11:37:04 +0200 开始 GET "/lyrics?utf8=%E2%9C%93&search=Soweto" 获取 127.0.0.1 弃用警告: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 调用) 由 LyricsController#index 处理为 HTML 参数:{"utf8"=>"\342\234\223", "search"=>"Soweto"} 在 2ms 内完成 500 内部服务器错误

NoMethodError(未定义方法closed?' for nil:NilClass): app/controllers/lyrics_controller.rb:10:inindex'

渲染 /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/middleware/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

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 full-text-search sunspot-rails


    【解决方案1】:

    我忘记启动 sunsport gem。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-04
      • 1970-01-01
      • 1970-01-01
      • 2022-11-21
      • 1970-01-01
      相关资源
      最近更新 更多