我很難找出棘手的問題。這是我想要實現的:JQuery自動完成/使用ruby在rails上驗證if/else語句
我想要一個text_field
用戶輸入他們想要添加的人的電子郵件地址,Rails驗證該電子郵件地址是否已註冊。如果該電子郵件已註冊(並且該帳戶存在),它將從A呈現併發送「加入項目」電子郵件,如果電子郵件與db中的電子郵件不匹配(用戶不存在),它將呈現另一個表單,形式B ,併發送「邀請到SITE」電子郵件。
我現在有單獨工作的功能。一個用於邀請現有用戶,另一個用於邀請新用戶。這是我的。
觀點:
= button_to_function 'Add Existing User', 'insert_add_existing_member_form()', :class => "submit"
= button_to_function 'Add New User', 'insert_invitation_membership_form()', :class => "floatright submit"
#add_existing_member_form.template.hide
.label_top
= label_tag 'Enter email address or name'
= text_field_tag 'new_member_email', "", :class => "existing_member_autocomplete"
#membership_form.template.hide
%p Pending acceptance.
= f.fields_for(:memberships, Membership.new(), :child_index => 'new_membership') do |ff|
= render 'membership', :ff => ff
的application.js:
var insert_add_existing_member_form = function(){
$('#membership_form_footer').before("<h2>Add Existing User</h2>")
var template = $("#add_existing_member_form").clone()
$("#membership_form_footer").before(template.html())
$('.existing_member_autocomplete').autocomplete({
source: users_for_autocomplete,
select: function(event, ui){
insert_membership_form(ui.item)
}
})
}
var insert_membership_form = function(item){
$('#membership_form_footer').before("<h2>"+item.label+"</h2>")
var template = $('#membership_form').clone()
$(template).find('#project_memberships_attributes_new_membership_user_id').val(item.id)
$('#membership_form_footer').before(template.html().replace(/new_membership/g, new Date().getTime()))
}
var insert_invitation_membership_form = function(){
$('#membership_form_footer').before("<h2>Add New User</h2>")
var template = $("#invitation_membership_form").clone()
$("#membership_form_footer").before(template.html().replace(/new_membership/g, new Date().getTime()))
}
控制器:
@users_for_autocomplete = User.not_member_of(@project.id).to_json(:only => :id, :methods => :label)
有沒有辦法運行在insert_membership_form()函數,這樣的if/else
聲明如果用戶輸入不匹配任何記錄,而不是呈現insert_membership_form w在ui條目中,它會插入邀請成員資格?
或者,有沒有更容易的方法來檢查電子郵件的存在,而不必使用jQuery?我的意思是,有沒有辦法在rails中編寫這段代碼,這樣用戶只需輸入一封電子郵件,它就會驗證它是否存在,如果爲true,則表示現有成員,如果爲false,則呈現新成員表單?您的幫助將不勝感激!
謝謝你的幫助和時間!
感謝要求...它添加到上述問題的 – 2012-01-13 02:00:44