未定义的方法`all&#39; for Ransack :: Search <class:post,=“”base:=“”grouping =“”<combinator:=“”and =“”>&gt;:Ransack :: Search

时间:2016-08-09 09:23:48

标签: ruby-on-rails ruby activeadmin ransack

我是红宝石和铁轨的新人,我想问一个问题。

我收到错误:

undefined method `all' for Ransack::Search<class: Post, base: Grouping <combinator: and>>:Ransack::Search

错误行来自:

@posts = @search.all

我的html.erb:

<%= search_form_for @search do |f| %>
<%= f.text_field :title_or_body_contains %>
<%= f.submit "Search" %>
<% end %>

我的实体控制器:

def index
    @search = Post.search(params[:search])
    @posts = @search.all
end

我的应用程序控制器:

def site_search
    @search = Post.search(params[:search])
    @search_posts = @search.all
end

我的宝石:

gem 'activeadmin', github: 'activeadmin'
gem 'inherited_resources', github: 'activeadmin/inherited_resources'
gem 'rspec-rails', '>= 3.5.0.beta1'
gem 'ransack',    github: 'activerecord-hackery/ransack'

任何人都可以帮助我吗?谢谢。

1 个答案:

答案 0 :(得分:0)

尝试使用@search.result,我认为@search.all用于元搜索宝石。