为什么我的实例没有为我的搜索表单保存?

时间:2017-01-22 01:57:09

标签: sql ruby-on-rails ruby instance-variables pry

我有一个返回我们产品的搜索表单。但是,如果用户输入的字符串包含某些单词(在本例中为' color'),则会返回太多的产品。我试图删除字符串' color'来自在后端搜索的查询,但将原始查询的字符串保持为@unfiltered_query,以便我可以在前端模板上引用@unfiltered_query。

if query.include? "color"
  @unfiltered_query = query
end
query.slice! "color"
values = query.split
binding.pry

它没有用,所以我撬开看看发生了什么。在表格中,我搜索了#34;红色油漆颜色"。当我在pry中调用@unfiltered_query时,它输出" Red paint",即使我在.slice之前创建了方法!被称为?!

我错过了什么?

谢谢!

P.S。我用来引用该实例的HTML模板是:

<div class="search-input"><h2>
    <% if @unfiltered_query.present? %>
       <%= @unfiltered_query.titleize %>
    <% else %>
       <%= query.titlelize %>
    <% end %>
</h2></div>

1 个答案:

答案 0 :(得分:1)

你可以尝试这样:

if query.include? "color"
  @unfiltered_query = query.dup
end
query.slice! "color"
values = query.split
binding.pry

这可能是由于通过引用传递。