当我选择他的名字时,如果他的电子邮件ID存在于数据库中,我需要一个员工电子邮件ID。任何人都可以建议我怎么做,因为我有1400名员工和他们的邮件ID,我在下拉列表中得到他们的名字,但是当我选择他们的名字时,我需要他们的邮件ID在特定领域显示.... ..
$("#user_employee_id").change(function(){
$.ajax({
type: "GET",
url: "/User/emailcheck",
data: { email: user.email }
});
});
user_controller.rb
def emailcheck
@user = User.search(params[:email])
end
user.rb
def self.search(email)
if email
where('email = ?',email).first
end
end
当我点击员工姓名时,任何人都可以告诉我如何获取电子邮件ID吗?我需要在电子邮件选项卡中默认获得该员工的电子邮件ID。
答案 0 :(得分:1)
试试这个:
$("#user_employee_id").change(function(){
var id = $(this).val();
$.ajax({
type: "GET",
url: "/User/emailcheck",
data: { id : id}
success : function( data ) {
$("#user_email").val(data);
},
error : function(err) {
}
});
});
user_controller.rb
def emailcheck
@user = User.find_by_id(params[:id])
respond_to do |format|
if @user.email.present?
format.json { render json: @user.email , status: :ok }
else
format.json { render json: "No mail id", status: :unprocessable_entity }
end
end
end
答案 1 :(得分:1)
你可以这样做
改变你的js代码:
$("#user_employee_id").change(function(){
var user_id = $(this).val(); #considering that your are setting id as a value of select field
$.ajax({
type: "GET",
url: "/user/emailcheck",
data: { id: user_id }
}).success(function(res){
$("#your_text_field_id").val(res.text);
});
});
并在您的user_controller.rb
中 def emailcheck
user = User.find_by(id: params[:id])
if user.present?
render text: user.email
end
end