Commit 43181c91 by Tô Ngọc Ánh

Favorite page

parent a7e94105
Pipeline #978 canceled with stages
in 0 seconds
...@@ -3,7 +3,7 @@ class FavoritesController < ApplicationController ...@@ -3,7 +3,7 @@ class FavoritesController < ApplicationController
def index def index
favorites = current_user.favorites.select(:job_id).all favorites = current_user.favorites.select(:job_id).all
@jobs = Job.where(id: favorites).page(params[:page]) @jobs = Job.where(id: favorites).includes(:company, :locations).page(params[:page])
end end
def create def create
......
...@@ -4,7 +4,7 @@ class JobsController < ApplicationController ...@@ -4,7 +4,7 @@ class JobsController < ApplicationController
@industries = Industry.select(:id, :name) @industries = Industry.select(:id, :name)
object = params[:model].classify.constantize.find_by_slug(params[:slug]) object = params[:model].classify.constantize.find_by_slug(params[:slug])
@keyword = object.try(:name) || object.try(:city) @keyword = object.try(:name) || object.try(:city)
@jobs = object.jobs.all.includes(:company, :locations, :industries).page(params[:page]) @jobs = object.jobs.all.includes(:company, :locations).page(params[:page])
# @is_favorited = user_signed_in? ? current_user.favorites.find_by(job_id: ) # @is_favorited = user_signed_in? ? current_user.favorites.find_by(job_id: )
end end
......
<%= form_tag new_applied_job_path, method: :get, enforce_utf8: false do %> <%= form_tag new_applied_job_path, method: :get, enforce_utf8: false do %>
<%= collection_radio_buttons(:job_id, params[:job_id], @jobs, :id, :title) do |radio| %> <%= collection_radio_buttons(:job_id, params[:job_id], jobs, :id, :title) do |radio| %>
<div id="favorited-<%= radio.object.id %>">
<div class='card flex-md-row align-items-center my-2'> <div class='card flex-md-row align-items-center my-2'>
<%= radio.radio_button(class: "ml-3") %> <%= radio.radio_button(class: "ml-3") %>
<div class='card-body'> <div class='card-body'>
...@@ -14,8 +15,9 @@ ...@@ -14,8 +15,9 @@
<p><strong>Salary: </strong><%= radio.object.salary %></p> <p><strong>Salary: </strong><%= radio.object.salary %></p>
<p class='card-text'><%= strip_tags(radio.object.description).truncate(Job::WORDS_SHORT_DESCRIPTION) %></p> <p class='card-text'><%= strip_tags(radio.object.description).truncate(Job::WORDS_SHORT_DESCRIPTION) %></p>
</div> </div>
<div id="favorite-<%= radio.object.id %>" class='p-2'> <%= link_to 'Remove', job_favorite_path(radio.object.id),
<%= render 'favorites/link_favorite', job_id: radio.object.id %> method: :delete, class: 'btn btn-danger btn-lg m-2', remote: true,
data: { disable_with: '<i class="fa fa-spinner fa-spin"></i>'.html_safe } %>
</div> </div>
</div> </div>
<% end %> <% end %>
......
$('#favorite-<%= @favorite.job_id %>') $('#favorite-<%= @favorite.job_id %>')
.html("<%= j render 'favorites/link_favorite', job_id: @favorite.job_id %>") .html("<%= j render 'favorites/link_favorite', job_id: @favorite.job_id %>")
$('#favorited-<%= @favorite.job_id %>').remove()
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<hr class="divider"> <hr class="divider">
<div class='content'> <div class='content'>
<%= paginate @jobs %> <%= paginate @jobs %>
<%= render 'favorites/job', jobs: @jobs %> <%= render 'favorites/job', jobs: @jobs if @jobs.any? %>
<%= paginate @jobs %> <%= paginate @jobs %>
</div> </div>
</div> </div>
\ No newline at end of file
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