未定义的方法`创建' for ActiveRecord :: Relation:Class

时间:2015-07-21 08:49:11

标签: ruby-on-rails activerecord rails-activerecord sunspot-solr

我做了一个rails-api项目..在windows上开发了..所有的请求响应都在那里工作.. 我把它带到linux服务器......我收到这个错误:

class TableOne < ActiveRecord::Base
  self.table_name = "table_one"
  has_many :table_twos, foreign_key: "id"

  #contains searchable block for sunspot-solr
end

我在模型类中遇到此错误:

class TableOne < ActiveRecord::Base
  self.table_name = "table_one"
  has_many :table_twos, foreign_key: "two_id"
  searchable do
    text :title, :stored => true
    integer :status, :stored => true
    string :id, :multiple => true, :stored => true do
      table_twos.map(&:two_id)
    end
  end
end

我正在点击的API不会进行数据库查询。只有solr请求。 有什么帮助吗?

更新1

这是表一:

class TableTwo< ActiveRecord::Base
  self.table_name = "table_two"
  belongs_to :table_one
end

这是我的表二:

@search= TableOne.search do
        fulltext "go"
        all_of do 
            with(:status,1)
            without(:id,nil)
        end
        paginate :page => 1, :per_page => 5
    end
    @search.hits.each do |hit|
        puts hit.stored(:title)
        puts hit.stored(:id)[0]}
    end 

要搜索(使用太阳黑子solr)我在我的控制器中使用以下内容:

NoMethodError (undefined method `create' for ActiveRecord::Relation:Class):
 app/models/table_one.rb:2:in `<class:TableOne>'
 app/models/table_one.rb:1:in `<top (required)>'
 app/controllers/search_controller.rb:55:in `send_response'
 app/controllers/search_controller.rb:40:in `populate_bean'

更新2 这是错误:

{{1}}

在Windows上我没有出现这样的错误。

0 个答案:

没有答案