私は、ページ作成を実装するためにKaminari Gemを使用する既存のコードの上に検索機能を実装しようとしています。しかし、それはすべて重要ではないかもしれません。私が理解できないことは(私がレール/ルビーをかなり新しくしているので)メソッド連鎖です。次のコードは、このエラーがスローされます。railsメソッド連鎖コントローラ
SQLite3::SQLException: no such column: name: SELECT COUNT(*) FROM "courses" WHERE (name LIKE '%1%')
# GET /courses
# GET /courses.json
def index
# @courses = Course.order(:title).page params[:page]
if logged_in?(:site_admin)
# @courses = Course.page(params[:page]).per(5)
@courses = Course.search(params[:term]).page(params[:page]).per(5)
else
# @courses = Course.offered.page(params[:page]).per(5)
@courses = Course.offered.search(params[:term]).page(params[:page]).per(5)
end
end
モデルでsearch(params[:term])
検索方法の添加せずに作業をコメントアウトされている2つのライン:また
def self.search(term)
if term
where('name LIKE ?', "%#{term}%").order('id DESC')
else
order('id DESC')
end
、Iチュートリアルの次の記事:https://rubyplus.com/articles/3381-Simple-Search-Form-in-Rails-5
あなたは 'includes'をどこかで使っていますか?はいの場合は、そうしないでください。 [こちら](https://github.com/kaminari/kaminari/issues/869#issuecomment-283411641)を確認してください。 –