2016-06-23 1 views
0

recruiter이 취업 (모집 자 has_many jobs, 모든 연결이 올바르게 설정 됨)이고 users이 (가) 적용 우편함을 사용하여 이메일을 보내는 적용 버튼을 클릭 할 수있는 레일 애플리케이션이 있습니다. 특정 직업에 대한 신참자.메일 보내기 Rails 신청서

UserRecruiter은 Devise에서 만든 두 가지 모델입니다.

잡스는 지금까지 무엇을 Heres는 rails g scaffold Job .....

에 의해 생성 된 :

ApplyMailer.rb :

class ApplyMailer < ApplicationMailer 
    def new_apply(job) 
    @user = current_user 
    @job = job 
    mail to: @job.recruiter.email, 
     subject: "Someone whats to appy for #{@job.title}" 
    end 
end 

채용 # 쇼보기 :

<%= button_to(apply_path, class:"btn btn-info") do %> 
    Apply 
<% end %> 

Jobs_controller.rb :

def sendemail 
    @job = Job.find(params[:id]) 
    ApplyMailer.new_apply(@job).deliver_now 
end 

나는이 내가 달성하기 위해 노력하고있어에 대한 올바른 방법으로하고있어 경우 잘 모르겠어요 모든 Routes.rb

post '/apply' => 'jobs#sendemail' 

첫째. 내가하려는 일은 다음과 같습니다.

버튼이 jobs#show 페이지에 있으므로 job을 인수로 사용하고 associated recruiter으로 전자 메일을 보내야합니다. current_user (User model)은 작업 신청자로, 이메일보기에서 사용자 이름을 말합니다 (아래를 확인하십시오).

new_apply.html.erb :

<div class=""> 
    <h2><%= @user.profile.name %> want to apply for the job</h2> 
</div> 

이메일이 job 게시물에 대한 recruiter로 전송 될 수있는 방법을 버튼을 누른 후 질문입니다. 이메일에는 current_user 이름과 이메일이 있어야합니다. 위의 내용은 내가 시도한 내용이지만 이메일이 전송되지는 않습니다.

감사 컨트롤러

def create 
    # creating your job 
    if @job.create 
    ApplyMailer.new_apply(current_user, job).deliver_now 
    else 
    # what you want 
    end 
end 

에서

+0

당신이 무슨 짓을했는지 우리에게 말하고보다는 질문을주세요! –

+0

당신은 사용자를 전달할 필요가있다. 메일러는'current_user'가 무엇인지 알지 못한다. –

+0

무엇이 문제인가? –

답변

2

하고 Rails doc

에 따라 CRUD에 따라 경로를 사용할 필요가 BTW

class ApplyMailer < ApplicationMailer 
    def new_apply(user, job) 
    @user = user 
    @job = job 
    mail to: @job.recruiter.email, 
     subject: "Someone whats to appy for #{@job.title}" 
    end 
end 

사용자 메일러에 추가

1

메일을 보내기 위해 작업 메일러를 사용하십시오. 이 링크를 사용 자세한 내용은

class UserMailer < ApplicationMailer 
    default from: '[email protected]' 

    def welcome_email(user) 
    @user = user 
    @url = 'http://example.com/login' 
    mail(to: @user.email, 
     subject: 'Welcome to My Awesome Site', 
     template_path: 'notifications', 
     template_name: 'another') 
    end 
end 

는 : -

http://guides.rubyonrails.org/action_mailer_basics.html