我正在开发一个高级搜索表单。我在视图/搜索中工作。现在我已经为我一直使用的用户个人资料创建了属性,例如邮政编码、年龄、性别、职业、宗教、教育等。我想将这些字段用于我的高级搜索。
当我包含 f.label 和 text 字段时,我得到一个未定义的方法。我希望我不必为搜索表单重新创建每个属性,因为考虑到我已经为用户配置文件完成了所有这些属性,这没有多大意义。任何帮助将不胜感激!
/searches/new.html
(用于搜索):
<%= form_for @search do |f| %>
<div class="field">
<%= f.label :keywords %><br/>
<%= f.text_field :keywords%>
</div>
<div class="field">
<%= f.label :zip_code %><br/>
<%= f.text_field :zip_code %>
</div>
<div class="actions"><%= f.submit "Search" %></div>
<% end %>
/users/new.html(用于用户配置文件):
<%= form_for @user do |f| %>
<% if @user.errors.any? %>
<div class="error_messages">
<h2>Form is invalid</h2>
<ul>
<% @user.errors.full_messages.each do |message| %>
<li><%= message %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.label :email %><br/>
<%= f.text_field :email %>
</div>
<div class="field">
<%= f.label :password %><br/>
<%= f.password_field :password %>
</div>
<div class="field">
<%= f.label :username %><br/>
<%= f.text_field :username %>
</div>
<div class="field">
<%= f.label :zip_code %><br/>
<%= f.text_field :zip_code %>
</div>
</div>
<div class="field">I'm a
<%= f.select :gender, ['man', 'woman']%>
interested in
<%= f.select :gender, ['women', 'men', 'both']%>
</div>
<div class="field">
Age <%= select(@object, :age, (18..75).to_a) %> to <%= select(@object, :age, (18..75).to_a) %>
</div>
<div class="actions"><%= f.submit %></div>
<% end %>