Ruby on rails 在RubyonRails中从特定列获取所有用户的值
下面是“用户”模型的模式 我有一个文本字段,输入邮政编码,如下所示:Ruby on rails 在RubyonRails中从特定列获取所有用户的值,ruby-on-rails,Ruby On Rails,下面是“用户”模型的模式 我有一个文本字段,输入邮政编码,如下所示: <%= form_for :search, :url => { :action => :search} do |f| %> <table> <tr> <td align="center"> <h2 style="color:Black; font-size: x-large;">Specs</h2
<%= form_for :search, :url => { :action => :search} do |f| %>
<table>
<tr>
<td align="center">
<h2 style="color:Black; font-size: x-large;">Specs</h2>
<table>
<tr>
<td align="center">
<%= f.text_field :tf_Zip,placeholder: "Zip" %>
</td>
</tr>
</table>
<table>
<tr>
<td>
<div class="button">
<%= f.submit "Search", { :class => "buttonSearch"} %>
</div>
</td>
</tr>
</table>
</td>
</tr>
</table>
<% end %>
但它的工作不好,请帮助。谢谢您需要使用
。其中
:
def search
if ( !params[:tf_Zip].blank? or params[:tf_Zip] !="" )
@user_zip = User.where(zip: params[:tf_zip])
end
render 'search'
end
请尝试使用以下代码
def search
@user_zip = params[:search][:tf_Zip].blank? ? [] : User.where(zip: params[:search][:tf_Zip])
render 'search'
end
尝试:
您必须检查
params
参数。我不确定它是否是params[:search][:tf_Zip]
,但您应该重新检查并正确写入应用程序中的内容。更多信息会有所帮助吗?你已经从其他人那里收到了完全相同的答案——这是正确的方法。你想在这里做什么:zip:params[:tf_-zip]使用这些参数执行where
查询给我一个错误“未定义的方法”[],用于nil:NilClass”我还看到一个输入错误:异常表示你正在查找一个空id,事实上,您正在向find传递params[:tf_-zip],而您正在从表单传递params[:tf_-zip](与if语句的检查相同)。你检查过了吗?
def search
if ( !params[:tf_Zip].blank? or params[:tf_Zip] !="" )
@user_zip = User.where(zip: params[:tf_zip])
end
render 'search'
end
def search
@user_zip = params[:search][:tf_Zip].blank? ? [] : User.where(zip: params[:search][:tf_Zip])
render 'search'
end
def search
@user_zip = User.where(zip: params[:tf_Zip]) if params[:tf_Zip].any?
end