【发布时间】:2015-10-05 09:13:07
【问题描述】:
我在验证时遇到了一些问题。我正在尝试验证不属于数据库的 params[:search] 和 params[:miles]。到目前为止,我已经创建了一个无表模型,但仍然需要一些帮助来找出我的代码出了什么问题。感谢你们的帮助。
user_controller.rb
class UsersController < ApplicationController
def index
@search = Search.new(search: params[:search], miles: params[:miles])
if params[:search] && params[:miles].present?
@users = User.near(params[:search], params[:miles], units: :mi)
elsif params[:search].present?
@users = User.near(params[:search], 10, units: :mi)
else
@users = User.all
end
index.html.erb
<%= form_for @search, url: users_path, method: :get do |f| %>
<% if @search.errors.any? %>
<h2> Errors: </h2>
<ul>
<% @search.errors.full_messages do |message| %>
<li><%= message %></li>
<% end %>
</ul>
<% end %>
<%= f.label :miles, params[:miles] %>
<%= f.text_field :miles %>
<%= f.label :search, params[:search] %>
<%= f.text_field :search %> </br >
<%= f.submit "Search" %>
<% end %>
search.rb 模型
class Search
include ActiveModel::Validations
include ActiveModel::Conversion
extend ActiveModel::Naming
attr_accessor :search
attr_accessor :miles
validates_presence_of :search
validates :miles, inclusion: { in: 0..9 }
end
【问题讨论】:
-
你的代码哪里出错了?搜索错误是否未显示?您是否遇到某种错误?
-
由于您没有提及您的错误,因此很难理解发生了什么。
标签: ruby-on-rails ruby validation ruby-on-rails-4