【发布时间】:2017-10-13 16:59:08
【问题描述】:
我正在尝试渲染传递给 ransack 搜索的搜索参数字符串。
但是,我想不出一种方法来检测搜索中是否包含特定属性。下面的代码有效,但如果参数为空,则不会隐藏按钮。
articles/browse.html.erb
<% if params[:q].present? == true %>
<button type="button" class="btn btn-outline-primary btn-lg"><%= params[:q][:title_cont] %></button>
<button type="button" class="btn btn-outline-primary btn-lg"><%= params[:q][:categories_name_cont] %></button>
<button type="button" class="btn btn-outline-primary btn-lg"><%= params[:q][:user_name_cont] %></button>
<% end %>
我尝试使用以下条件,但出现此错误:undefined method [] for nil:NilClass
<% if params[:q][:title_cont].present? == true %>
文章控制器
def browse
@q = Article.ransack(params[:q])
@articles = @q.result.includes(:categories, :users)
end
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-5 ransack