【问题标题】:Rails 3 + Meta_Search custom redirectRails 3 + Meta_Search 自定义重定向
【发布时间】:2012-03-09 23:37:52
【问题描述】:

我正在使用 meta_search gem,并希望在不同于模型/索引的另一个页面上显示搜索结果。是否可以重定向到我选择的视图?

谢谢!

【问题讨论】:

    标签: ruby-on-rails-3 redirect meta-search


    【解决方案1】:

    您需要使用参数从您想要的任何方法调用搜索。而不是:

    def index
      @search = Article.search(params[:search])
      @articles = @search.all   # load all matching records
    end
    

    你可能有

    def show
      @search = Article.search(params[:search])
      @articles = @search.where(:user_id => params [:user_id]).all   # load all matching records
    end
    

    取决于您创建的自定义Where

    【讨论】:

    • 好的。但是我的搜索表单在应用程序布局中,所以我必须在应用程序控制器上进行过滤以索引电影:def index_movies @search = Movie.search(params[:search]) @movies = @search.all end我只是采取了错误的方法吗? (对不起,我无法格式化!)
    • 您的搜索在application.html.erb?
    • 是的,我有一个在 application.html.erb 中呈现的部分“/movies/search”
    • 啊……那么 graywh 的解决方案或它的变体可能会更好
    【解决方案2】:

    如果您希望搜索操作使用不同的路由,请为form_for 提供url 选项。

    <%= form_for @search, :url => search_results_movies_path do |f| %>

    【讨论】:

    • 嗯,我的应用程序布局中有这个:&lt;%= form_for @search, search_results_movies_path do |f| %&gt; &lt;%= f.text_field :title_or_actors_or_director_contains, :class=&gt;"span2" %&gt; &lt;input id="Submit" class="btn pull-right" type="submit" value="Buscar" name="Submit"&gt; &lt;% end %&gt; 现在,如果我在与“电影”不同的控制器中开始搜索,它不会重定向到搜索结果。我可以解决这个问题吗?
    • @fertech 你必须像&lt;%= form_for @search, :url =&gt; search_results_movies_path do |f| %&gt;那样通过选项散列传递网址
    猜你喜欢
    • 2011-11-22
    • 2011-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多