Commit 5afdb94c by Đường Sỹ Hoàng

Add load_job action

parent 2822e541
class ApplyController < ApplicationController
before_action :load_job, only: [:new, :done, :confirm]
def done
# ApplyMailer.notify(@apply).deliver
# redirect_to done_path(@apply)
binding.pry
@apply = UserJob.new(apply_job_params)
if @apply.save
redirect_to done_path
else
render :new
end
end
def new
@apply = UserJob.new(user_job_params)
@apply = UserJob.new
end
def confirm
#binding.pry
@job = Job.find_by(id: params[:job_id])
@apply = current_user.apply_jobs.new(apply_job_params.merge(job_id: @job.id))
# @apply = @job.user_job.new(user_job_param)
if @apply.save
redirect_to done_path
end
end
def create
@apply = UserJob.new(apply_job_params)
end
private
def user_job_params
params.permit(:job_id, :cv_url, :first_name, :last_name, :username, :email)
def apply_job_params
params.require(:user_job).permit(:cv_url, :first_name, :last_name, :username, :email)
end
def apply_job_params
params.permit(:job_id, :user_id, :cv_url, :first_name, :last_name, :username, :email)
def load_job
@job = Job.find_by(id: params[:job_id])
end
end
......@@ -12,33 +12,49 @@
</li>
</ol>
</nav>
<%= form_for(@apply, url: done_path(@job)) do |f|%>
<div class= "field">
<%= f.label :username %>
</br>
<%= @apply.username %>
<%= f.hidden_field :username, value: @apply.username %>
</div>
<div class="row row-cols-1">
<div class="job-content-wrapper">
<dl class="row">
<dt class="col-sm-3">Username:</dt>
<dd class="col-sm-9"><%= @apply.username %></dd>
<dt class="col-sm-3">FirstName:</dt>
<dd class="col-sm-9"><%= @apply.first_name %></dd>
<div class="field">
<%= f.label :first_name %>
</br>
<%= @apply.first_name %>
<%= f.hidden_field :first_name, value: @apply.first_name %>
</div>
<dt class="col-sm-3">LastName:</dt>
<dd class="col-sm-9"><%= @apply.last_name %></dd>
<div class="field">
<%= f.label :last_name %>
</br>
<%= @apply.last_name %>
<%= f.hidden_field :last_name, value: @apply.last_name %>
</div>
<dt class="col-sm-3">Email:</dt>
<dd class="col-sm-9">
<%= @apply.email %>
</dd>
<div class="field">
<%= f.label :email %>
</br>
<%= @apply.email %>
<%= f.hidden_field :email, value: @apply.email %>
</div>
<dt class="col-sm-3">CV URL:</dt>
<dd class="col-sm-9">
<%= @apply.cv_url %>
</dd>
</dl>
<div class="field">
<%= f.label :CV_URL %>
</br>
<%= @apply.cv_url %>
<%= f.hidden_field :cv_url, value: @apply.cv_url %>
</div>
</br>
<div class = "actions">
<%= f.submit "Done", class: "btn btn-primary" %>
</div>
<% end %>
<div class = "float-right">
<%= link_to "Done", done_path, class: "btn btn-primary" %>
<%= link_to "Done", done_path(@job), class: "btn btn-primary" %>
</div>
<div class= "float-left">
......
......@@ -19,7 +19,7 @@
<div class="card-header text-center">
<h2>Apply Form</h2>
</div>
<%= form_for(:user_job, url: apply_path) do |f|%>
<%= form_for(@apply, url: confirm_path(@job)) do |f|%>
<div class= "field">
<%= f.label :username %>
</br>
......
......@@ -22,8 +22,8 @@ Rails.application.routes.draw do
get "jobs/industry/:industry_id", to: "jobs#index", as: "industry_jobs"
get "detail/:job_id", to: "jobs#show", as: "job"
get "apply/:job_id", to: "apply#new", as: "apply"
post "apply/:job_id/", to: "apply#confirm", as: "confirm"
get "done", to: "apply#done", as: "done"
post "confirm/:job_id/", to: "apply#confirm", as: "confirm"
post "done/:job_id", to: "apply#done", as: "done"
concern :paginatable do
get "(page/:page)", action: :index, on: :collection, as: ""
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment