【问题标题】:rails results page value from search page搜索页面中的 rails 结果页面值
【发布时间】:2015-09-23 05:01:06
【问题描述】:

我有一个使用:method => 'get' 的搜索表单,它与我的index.html.erb 文件非常相似。我已经设置了到结果页面的路由,但是在控制器中定义的操作结果下的@user,在结果页面中与包含所有索引的原始@user 相同。我想知道如何从我的搜索表单中获取值?

如果有人能指出我的方向,我将不胜感激。

【问题讨论】:

  • 请提供控制器代码
  • 从您提供的信息来看,您的问题非常不清楚。你能分享你的控制器代码,如果可能的话,具体的路由文件的代码?

标签: ruby-on-rails forms search pagination


【解决方案1】:

首先,您需要为搜索定义一条路线,但您已经完成了。下一步是在您想要的视图中编写您的搜索表单:

<%= form_tag(custom_search_path, :method => "get") do %>
  <%= text_field_tag :search, params[:search], placeholder: "Search" %>
  <%= submit_tag "Search" %>
<% end %>

这将获取搜索文本,并将params[:search] 变量发送给您,您可以在控制器中以您在路由中放置的方法访问该变量。接下来你需要在你的模型上定义一个类级别的搜索方法:

class YourModel < ActiveRecord::Base
  def self.search(text)
    where("column LIKE ?", "%#{text}%")
  end
end

然后,在您的控制器中,您可以执行以下操作:

def index
  if params[:search]
    @result = Model.search(params[:search]).order("created_at DESC")
  end
end

【讨论】:

  • 谢谢!我缺少参数 [:search]
猜你喜欢
  • 1970-01-01
  • 2014-08-18
  • 2016-04-07
  • 2011-08-25
  • 2023-03-20
  • 2013-07-22
  • 2016-04-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多