在我的搜索页面中我有一个邮政编码的文本字段,当我在文本字段中输入邮政编码并点击搜索按钮时,文本字段的值是丢失的,搜索结果也是丢失的,我做的是稳定的文本字段值点击搜索按钮后的邮政编码和搜索结果。下面是我的观点页面:
<%= form_for :search, :url => { :method => :get, :action => :search } do |f| %>
<table width="100%">
<tr>
<td align="center" style="vertical-align:top;" width="35%">
<table>
<tr>
<td align="center">
<%= text_field_tag "tf_Zip",nil,:placeholder =>'Zip' %>
</td>
</tr>
</table>
<table>
<% if !@user.nil? %>
<% @user.each do |uzr| %>
<tr>
<td bgcolor="#CCDBE0" width="40%">
<%= image_tag @user_img.photo.url(:small),:alt => " " %>
<br/>
<div><a style="color:blue;" href = 'profile?id=<%= uzr.id %>'><%= uzr.First_Name + " " + uzr.Last_Name %></a></div>
</td>
<td bgcolor="#CCDBE0" width="60%" style="text-align:center;">
<div class='buttonblck1'><a href='searchings?id=<%= uzr.id %>'>Send Request </a></div>
</td>
</tr>
<% end %>
<% end %>
</table>
<% end %>
以下是控制器页面
if ( !params[:tf_Zip].blank? or params[:tf_Zip] != "" )
@user = User.find(:all,:conditions=>['"user_Zip" = ? and "id" != ? ',params[:tf_Zip], current_user.id])
end
请建议我,等待你的回复。&#39; 感谢
答案 0 :(得分:0)
首先:
form_for
旨在与ActiveModel
或ActiveRecord
的实例一起使用。
如果要创建不基于对象的表单,请使用form_tag
。
第二
因为你没有对象,存储属性的地方,你必须自己提供它们
该值在text_field_tag
的第二个参数中定义
即在你的控制器中:
@zip_search = params[:tf_Zip].presence
if @zip_search
@user = ...
end
并在您看来:
<%= form_tag url_for( :controller => :search, :action => :search), :method => :get) do %>
<%= text_field_tag "tf_Zip", @zip_search, :placholder => 'Zip' %>
<% end %>