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

Add load_job action

parent 2822e541
class ApplyController < ApplicationController class ApplyController < ApplicationController
before_action :load_job, only: [:new, :done, :confirm]
def done def done
# ApplyMailer.notify(@apply).deliver binding.pry
# redirect_to done_path(@apply) @apply = UserJob.new(apply_job_params)
if @apply.save
redirect_to done_path
else
render :new
end
end end
def new def new
@apply = UserJob.new(user_job_params) @apply = UserJob.new
end end
def confirm def confirm
#binding.pry @apply = UserJob.new(apply_job_params)
@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
end end
private private
def user_job_params def apply_job_params
params.permit(:job_id, :cv_url, :first_name, :last_name, :username, :email) params.require(:user_job).permit(:cv_url, :first_name, :last_name, :username, :email)
end end
def apply_job_params def load_job
params.permit(:job_id, :user_id, :cv_url, :first_name, :last_name, :username, :email) @job = Job.find_by(id: params[:job_id])
end end
end end
...@@ -12,33 +12,49 @@ ...@@ -12,33 +12,49 @@
</li> </li>
</ol> </ol>
</nav> </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="field">
<div class="job-content-wrapper"> <%= f.label :first_name %>
<dl class="row"> </br>
<dt class="col-sm-3">Username:</dt> <%= @apply.first_name %>
<dd class="col-sm-9"><%= @apply.username %></dd> <%= f.hidden_field :first_name, value: @apply.first_name %>
</div>
<dt class="col-sm-3">FirstName:</dt>
<dd class="col-sm-9"><%= @apply.first_name %></dd>
<dt class="col-sm-3">LastName:</dt> <div class="field">
<dd class="col-sm-9"><%= @apply.last_name %></dd> <%= 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> <div class="field">
<dd class="col-sm-9"> <%= f.label :email %>
<%= @apply.email %> </br>
</dd> <%= @apply.email %>
<%= f.hidden_field :email, value: @apply.email %>
</div>
<dt class="col-sm-3">CV URL:</dt> <div class="field">
<dd class="col-sm-9"> <%= f.label :CV_URL %>
<%= @apply.cv_url %> </br>
</dd> <%= @apply.cv_url %>
</dl> <%= 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"> <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>
<div class= "float-left"> <div class= "float-left">
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
<div class="card-header text-center"> <div class="card-header text-center">
<h2>Apply Form</h2> <h2>Apply Form</h2>
</div> </div>
<%= form_for(:user_job, url: apply_path) do |f|%> <%= form_for(@apply, url: confirm_path(@job)) do |f|%>
<div class= "field"> <div class= "field">
<%= f.label :username %> <%= f.label :username %>
</br> </br>
......
...@@ -22,8 +22,8 @@ Rails.application.routes.draw do ...@@ -22,8 +22,8 @@ Rails.application.routes.draw do
get "jobs/industry/:industry_id", to: "jobs#index", as: "industry_jobs" get "jobs/industry/:industry_id", to: "jobs#index", as: "industry_jobs"
get "detail/:job_id", to: "jobs#show", as: "job" get "detail/:job_id", to: "jobs#show", as: "job"
get "apply/:job_id", to: "apply#new", as: "apply" get "apply/:job_id", to: "apply#new", as: "apply"
post "apply/:job_id/", to: "apply#confirm", as: "confirm" post "confirm/:job_id/", to: "apply#confirm", as: "confirm"
get "done", to: "apply#done", as: "done" post "done/:job_id", to: "apply#done", as: "done"
concern :paginatable do concern :paginatable do
get "(page/:page)", action: :index, on: :collection, as: "" 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