'Rails, uninitialized constant Faraday::FlatParamsEncoder in sunspot solr

I'm using rails 4 and sunspot solr, when I pass the params to the controller for performing the search, i'm getting uninitialized constant Faraday::FlatParamsEncoder error

I followed the steps under https://github.com/sunspot/sunspot

My model looks as follow,

Post.rb

class Post < ActiveRecord::Base
  belongs_to :user

  searchable do
     text :title, :description
  end
end

and my controller action is blogs_controllers.rb

def index
  @search = Post.search do
    fulltext params[:search]
  end
  @results = @search.results
end

and the form is as follow,

<form action="<%= posts_search_path %>" method="GET" role="Search">
  <input type="text" name="search" placeholder="Search by post title" required="required">
  <input class="btn btn-default" type="submit" value="Search!">
</form>

not sure why this error is occuring.



Solution 1:[1]

Use of Faraday::FlatParamsEncoder in rsolr was added in version 2.0.0. Faraday::FlatParamsEncoder was added to faraday in version 0.9.0. rsolr does not specify a minimum version of faraday. I've created a pull request to fix this.

Either upgrade faraday to 0.9.0 or above, or downgrade rsolr to a version before 2.0.0.

Solution 2:[2]

Install gem 'faraday' and run bundle install this should resolve the problem.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 jb_314
Solution 2 Dennis Njoroge