【发布时间】:2015-04-01 11:42:35
【问题描述】:
问题在我的 Rails 应用程序中 我的用户控制器中有一个自动填充的方法。这会在新用户注册时填写表格。当他们填写我的 emp_id 文本框时,它会查看我的员工表,如果 ID 与他们键入的 emp_id 匹配,我将从该表中提取此数据。自动填充他们的 emp_first_name 和 emp_last_name。当数据返回有数据时,我可以弹出一条消息,但是,如果该特定 emp_id 不存在数据,我坚持如何让它显示一条消息...
这是我的控制器
class UserController < ApplicationController
def populate_form
@visual = Visual.find_by_id(params[:emp_id])
if @visual.nil?
respond_to do |format|
format.json { render json: @user, status: :unprocessable_entity, flash[:error] => "Error No ID found." }
#This didn't work no message displays..
end
else
@emp_first_name = @visual.first_name
@emp_last_name = @visual.last_name
render :json => {
:emp_first_name => @emp_first_name,
:emp_last_name => @emp_last_name
}
end
end
这是我的看法..
<div class='row form-group'>
<div class='col-xs-8 col-xs-offset-2 col-sm-6 col-sm-offset-3 col-md-4 col-md-offset-4 col-lg-2 col-lg-offset-5 text-right'>
<%= f.text_field :emp_id, tabindex: 1, id: 'emp_id', autofocus: true, placeholder: t( 'login_label' ), class: 'form-control' %>
</div>
</div>
<div class='row form-group'>
<div class='col-xs-8 col-xs-offset-2 col-sm-6 col-sm-offset-3 col-md-4 col-md-offset-4 col-lg-2 col-lg-offset-5 text-right'>
<%= f.text_field :emp_first_name, tabindex: 1, id: 'emp_first_name', autofocus: true, placeholder: t( 'emp_first' ), class: 'form-control' %>
</div>
</div>
<div class='row form-group'>
<div class='col-xs-8 col-xs-offset-2 col-sm-6 col-sm-offset-3 col-md-4 col-md-offset-4 col-lg-2 col-lg-offset-5 text-right'>
<%= f.text_field :emp_last_name, tabindex: 1, id: 'emp_last_name', autofocus: true, placeholder: t( 'emp_last' ), class: 'form-control' %>
</div>
这是我的 app.js
$(document).ready(function(){
$('#emp_id').change(function() {
var url = "/user/populate_form?emp_id="+$(this).val();
$.getJSON(url, function(data) {
if(!(data.emp_first_name === undefined))
$('#emp_first_name').val(data.emp_first_name);
if(!(data.emp_last_name === undefined))
$('#emp_last_name').val(data.emp_last_name);
if('#emp_first_name' === null) {
alert('Fail employee ID wasn't found please try again with a valid employee ID.');
} else {
alert('Your employee ID has been found please fill in the email and password fields then click submit to register.');
}
});}
);
});
【问题讨论】:
-
究竟是什么不起作用?
标签: javascript ruby-on-rails ruby ajax ruby-on-rails-4