为了在 value 处取得 params[:q][:title_cont]
<input name='q[title_or_key_cont]' type="text" value='<%= params[:q][:title_cont] %>' >
这样在 params[:q] 为 nil 时会报错, 曾经一直这么写:
params[:q] && params[:q][:title_cont]
还可以用 try 改进:
params[:q].try(:[], :name_cont)
现在有更厉害的方法了:ruby 2.3 中引入的 Hash#dig
于是只需要:
params.dig(:q, :title_cont)