Commit 8aa62865 by Đường Sỹ Hoàng

Updated city list

parent 152daa6c
// Place all the styles related to the city controller here.
// They will automatically be included in application.css.
// You can use Sass (SCSS) here: https://sass-lang.com/
// Place all the styles related to the Industries controller here.
// They will automatically be included in application.css.
// You can use Sass (SCSS) here: https://sass-lang.com/
class CitiesController < ApplicationController
def index
@top_vn_cities = City.sort_top_vn_cities
@top_inter_cities = City.sort_top_inter_cities
end
def vn_cities
@top_vn_cities = City.sort_top_vn_cities
end
def inter_cities
@top_inter_cities = City.sort_top_inter_cities
end
end
class IndustriesController < ApplicationController
def index
@top_industries = Industry.sort_top_industries
end
end
module CityHelper
end
module IndustriesHelper
end
...@@ -3,7 +3,16 @@ class City < ApplicationRecord ...@@ -3,7 +3,16 @@ class City < ApplicationRecord
has_many :jobs, through: :city_jobs has_many :jobs, through: :city_jobs
def self.sort_top_cities def self.sort_top_cities
@cities ||= all.sort_by(&:jobs_count).reject{ |city| city.jobs_count ==0 }.reverse.take(Settings.top.city.limit) @cities ||= all.sort_by(&:jobs_count).reject{ |city| city.jobs_count.zero? }.reverse.take(Settings.top.city.limit)
end
def self.sort_top_vn_cities
@vn_cities ||= City.where(region: 0).sort_by(&:jobs_count).reject{ |city| city.jobs_count.zero? }.reverse.take(Settings.top.city.limit)
end
def self.sort_top_inter_cities
@inter_cities ||= City.where(region: 1).sort_by(&:jobs_count).reject{ |city| city.jobs_count.zero? }.reverse.take(Settings.top.city.limit)
end end
def jobs_count def jobs_count
......
<div class="container"> <div class="container">
<div class="row justify-content-md-center"> <div class="row justify-content-md-center">
<div class="col"> <div class="col text-center">
<div class="text-center">
<%= city.name %> <%= city.name %>
(<%= city.jobs_count %>) (<%= city.jobs_count %>)
</div>
</div> </div>
</div> </div>
</div> </div>
<div class="container">
<div class="row justify-content-md-center">
<div class="col-sm text-center">
<%= international_cities.name %>
(<%= international_cities.jobs_count %>)
</div>
</div>
</div>
<div class="container">
<div class="row justify-content-md-center">
<div class="col-sm text-center">
<%= vn_cities.name %>
(<%= vn_cities.jobs_count %>)
</div>
</div>
</div>
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
</div> </div>
<div id="vietnam"> <div id="vietnam">
<div class="row row-cols-3"> <div class="row row-cols-3">
<%= render partial: "cities/cities_list", collection: @top_cities %> <%= render partial: "cities/vn_cities", collection: @top_vn_cities %>
</div> </div>
</div> </div>
...@@ -36,6 +36,6 @@ ...@@ -36,6 +36,6 @@
</div> </div>
<div id="international"> <div id="international">
<div class="row row-cols-3"> <div class="row row-cols-3">
<%= render partial: "cities/international_list" %> <%= render partial: "cities/international_cities", collection: @top_inter_cities %>
</div> </div>
</div> </div>
<div class="container"> <div class="container">
<div class="row justify-content-md-center"> <div class="row justify-content-md-center">
<div class="col-sm"> <div class="col-sm">
<div class="text-center">
<%= industries_list.name %>
(<%= industries_list.jobs_count %>)
</div>
</div> </div>
</div> </div>
</div> </div>
<div class="center jumbotron">
<head>
<title><%= yield(:title) %> Venjob</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
</div>
</br>
<!--Display industries list-->
<div class="area-title-wrapper">
<h3>Industry List</h3>
</div>
<div id="industry">
<div class="row row-cols-3">
<%= render partial: "industries/industries_list", collection: @top_industries %>
</div>
</div>
<div class="row align-items-center"> <div class="row align-items-center">
<div class="col"> <div class="col text-center">
<div class="text-center"><%= job.title %></div> <%= job.title %>
</div> </div>
</div> </div>
</br> </br>
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
<div class="row row-cols-3"> <div class="row row-cols-3">
<%= render partial: "cities/city", collection: @top_cities %> <%= render partial: "cities/city", collection: @top_cities %>
<form class="form-inline-city"> <form class="form-inline-city">
<%= link_to "All cties", cities_path, class:"btn btn-outline-success" %> <%= link_to "All cities", cities_path, class:"btn btn-outline-success" %>
</form> </form>
</div> </div>
</div> </div>
...@@ -44,7 +44,7 @@ ...@@ -44,7 +44,7 @@
<div class="row row-cols-3"> <div class="row row-cols-3">
<%= render partial: "industries/industry", collection: @top_industries %> <%= render partial: "industries/industry", collection: @top_industries %>
<form class="form-inline-industry"> <form class="form-inline-industry">
<button class="btn btn-outline-success" type="button">All industries</button> <%= link_to "All industries", industries_path, class:"btn btn-outline-success" %>
</form> </form>
</div> </div>
</div> </div>
......
Rails.application.routes.draw do Rails.application.routes.draw do
root "top#index" root "top#index"
get "/cities", to: "top#cities" resources :cities, only: :index
resources :industries, only: :index
resource :top, only: :index resource :top, only: :index
devise_for :users devise_for :users
end end
require 'test_helper'
class CityControllerTest < ActionDispatch::IntegrationTest
# test "the truth" do
# assert true
# end
end
require 'test_helper'
class IndustriesControllerTest < ActionDispatch::IntegrationTest
# test "the truth" do
# assert true
# end
end
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