2016-04-27 13 views
1

電子メール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

は...私はWREイム間違っているかを知りたいルビーする新しいイムので、私はそれを行うことができ、正確な情報WREを与えてください、私は知っている私の方法が間違っている – Pasha

答えて

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 
+0

gauravのコードでも同じ問題も – Pasha

1

あなたは

Chengeのようにこれを行うことができ、あなたの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 
+0

@pratal私の質問に答えるためのおかげで、私はまだ電子メールIDを取得していないと言って申し訳ありません以前はどのようなものだったと私はこのリソースのように与えている: :index、:show、:update、:edit] do コレクションdo get 'create_new' get 'emailcheck' end – Pasha

+0

同じiss ueもウルコードに面している – Pasha

+0

回答は正しい – Pasha

関連する問題