尝试实现电话号码检查器。它由用户输入电话号码,提交表格和检查我的数据库中的电话号码记录列表并查看它是否存在组成。我想发送不同的AJAX响应,具体取决于用户输入是否存在于数据库中。使用Rails从表单中检索值(phone_number)并检查它是否存在于数据库中。如果值存在,发送不同的ajax响应
我已经让ajax回复了一条消息,但是当我输入数据库中存在的一个数字时(例如07780319014),我收到了电话号码未找到的响应。
下面实现的代码:
应用/视图/电话/ index.html.erb
<%= form_for :phone, url: phones_path, remote: true, html: { id: 'phone-number-form'} do |f| %>
<div id="phone-number-found"></div>
<div id="phone-number-not-found"></div>
<div id="phone-number-error"></div>
<%= f.text_field :phone_number %>
<%= submit_tag("Check") %>
<% end %>
应用程序/控制器/ phones_controller.rb
class PhonesController < ApplicationController
def create
@phone_number = Phone.where('phone_number = ?', params[:phone_number])
if @phone_number.exists?
render 'phone-found'
elsif @phone_number.blank?
render 'phone-not-found'
else
render 'errors'
end
end
private
def phone_params
params.require(:phone).permit(
:phone_number
)
end
end
应用/视图/电话/ phone-found.js.erb
$('#phone-number-found').html('Working!');
$('#phone-number-not-found').html('');
$('#phone-number-error').html('');
应用程序/视图/电话/手机 - 不found.js.erb
$('#phone-number-found').html('');
$('#phone-number-not-found').html('Working!');
$('#phone-number-error').html('');
应用程序/视图/手机/ error.js.erb
$('#phone-number-found').html('');
$('#phone-number-not-found').html('');
$('#phone-number-error').html('Working!');
的config/routes.rb中
resources :phones, path: '4g-promo'
如果有人能解决我的问题,将不胜感激。谢谢!
告诉我它是否工作? –
尝试'phone_number LIKE?',params [:phone_number] – jithya
Nah仍然得到手机未找到的答复,试图@jith –