【问题标题】:undefined method `all' for Ransack::Search<class: Post, base: Grouping <combinator: and>>:Ransack::SearchRansack::Search<class: Post, base: Grouping <combinator: and>>:Ransack::Search 的未定义方法“all”
【发布时间】:2016-08-16 23:27:01
【问题描述】:

我是 ruby​​ 和 rails 的新手,我想问一个问题。

我收到错误:

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'

谁能帮帮我?谢谢。

【问题讨论】:

  • 改用@search.result
  • 它运行,但搜索不起作用

标签: ruby-on-rails ruby activeadmin ransack


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-13
    • 1970-01-01
    • 1970-01-01
    • 2015-12-31
    • 1970-01-01
    • 2014-06-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多