代码之家  ›  专栏  ›  技术社区  ›  Hakeem Baba

液体模板中的多模型搜索

  •  0
  • Hakeem Baba  · 技术社区  · 6 年前

    class SearchController < ApplicationController
      def index
        @courses = Course.ransack(params[:q])
    
        # @teachers = Teacher.ransack(params[:q])
        # @articles = Article.ransack(params[:q])    
      end
    end
    

    <form class="search" method="get" action="{{ request.url_helpers.courses_path }}">
      <input type="text" placeholder="Search" name="q[title_cont]" value=""  />
      <input type="submit" value="Search" />
    </form>
    

    在我的路线中。

        resources :search, only: [:index]
    

    1 回复  |  直到 6 年前
        1
  •  1
  •   engineersmnky    6 年前

    这个答案与 ransack 因为我对液体没有经验,它似乎不属于手头的问题。

    我假设如下

    class Course < ApplicationRecord
      belongs_to :teacher
      has_many :articles
    end
    

    title_or_teacher_firstname_or_articles_title_cont 例如

    <form class="search" method="get" action="{{ request.url_helpers.courses_path }}">
      <input type="text" placeholder="Search" name="q[title_or_teacher_firstname_or_articles_title_cont]" value=""  />
      <input type="submit" value="Search" />
    </form>
    

    class SearchController < ApplicationController
      def index
        @q = Course.ransack(params[:q])
        @courses = @q.result
      end
    end