Commit a08e8005 by Đường Sỹ Hoàng

City list

parent c4212b67
......@@ -12,5 +12,5 @@
*
*= require_tree .
*= require_self
*= require bootstrap
*= require bootstrap.min
*/
......@@ -5,13 +5,6 @@ body {
font-family: Arial, Helvetica, sans-serif;
}
.center {
text-align: center;
background-color:gainsboro;
margin-left:260px;
}
/* typography */
h1, h2, h3, h4, h5, h6 {
......@@ -41,8 +34,6 @@ p {
/* header */
#logo {
float: left;
width: 50%;
......@@ -82,7 +73,6 @@ li {
font-size: 18px;
line-height: 25px;
border-radius: 4px;
}
li.btn-navbar {
......@@ -91,11 +81,17 @@ li.btn-navbar {
}
li.btn-navbar:hover {
background-color: mediumblue;
background-color: aquamarine;
text-decoration: none;
text-align: center;
}
.Job {
display: block;
background-color: lightblue;
}
div.col {
border: solid 1px;
padding: 10px;
margin: 10px;
background-color: gainsboro;
}
class JobsController < ApplicationController
def index
@jobs = Job.all
@latest_jobs = Job.latest_city.take(5)
@top_cities = City.sort_top_cities.take(9)
end
end
class City < ApplicationRecord
has_many :city_jobs
has_many :jobs, through: :city_jobs
def self.sort_top_cities
@cities||= all.sort_by(&:jobs_count).reverse
end
def jobs_count
@jobs_count = jobs.count
end
end
class Job < ApplicationRecord
has_many :user_jobs
has_many :city_jobs
scope :latest_job, -> {order(created_at: :desc).limit 5}
def self.latest_city
@latest = Job.order(created_at: :desc)
end
end
<div class="col-md-3">
<div class="col"><%= city.name %>(<%= city.jobs.count %>)</div>
</div>
<div class="row align-items-center">
<div class="col">
<h5><%= job.title %></h5>
</div>
</div>
</br>
......@@ -3,23 +3,26 @@
<title><%= yield(:title) %> Venjob</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<!--List of latest jobs-->
<div class="Job list">
<!-- List of latest jobs-->
<div class="Job list">
<div class="Job-title-wrapper">
<h3>Latest</h3>
<h3>Latest Jobs</h3>
</div>
<div class="row row-cols-1">
<div class="Job-content-wrapper">
<% @jobs.latest_job.each do |job| %>
<div class="Job content info">
<h4><%= job.title %></h4>
<%= render partial: "jobs/job", collection: @latest_jobs %>
</div>
<% end %>
</div>
</div>
<!--List of top cities-->
<div class="City list">
</br>
<!--List of top cities-->
<div class="City list">
<div class="City-title-wrapper">
<h3>City
<h3>Top Cities</h3>
</div>
<div class="City-content-wrapper">
<div class="row row-cols-3">
<%= render partial: "cities/city", collection: @top_cities %>
</div>
</div>
</div>
</div>
<div class="card text-center">
<div class="card-header">
Footer
</div>
<div class="card-body">
<h5 class="card-title">Venjob project</h5>
<a href="#">@Copyright Zigexn Ventura 2019</a>
</div>
</div>
<header class="navbar navbar-fixed-top navbar-inverse">
<div class="container">
<%= link_to image_tag("zigexn_logo.png", id: "logo", alt: "Venjob logo") %>
<nav>
<ul>
<li class="btn-navbar"><%=link_to "Login", '#' %></li>
<li class="btn-navbar"><%=link_to "Register", '#' %></li>
</ul>
<ul>
<ul>
<li class="btn-navbar"><%=link_to "Favorite", '#' %></li>
<li class="btn-navbar"><%=link_to "History", '#' %></li>
</ul>
</nav>
<%= link_to image_tag("banner.jpg", id: "banner", alt: "Venjob banner") %>
</div>
<div class="container">
<%= yield %>
</div>
</header>
......@@ -8,25 +8,11 @@
<%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %>
</head>
<body>
<header class="navbar navbar-fixed-top navbar-inverse">
<div class="container">
<%= link_to image_tag("zigexn_logo.png", id: "logo", alt: "Venjob logo") %>
<nav>
<ul>
<li class="btn-navbar"><%=link_to "Login", '#' %></li>
<li class="btn-navbar"><%=link_to "Register", '#' %></li>
</ul>
<ul>
<ul>
<li class="btn-navbar"><%=link_to "Favorite", '#' %></li>
<li class="btn-navbar"><%=link_to "History", '#' %></li>
</ul>
</nav>
<%= link_to image_tag("banner.jpg", id: "banner", alt: "Venjob banner") %>
</div>
<div class="container">
<%= yield %>
</div>
<header>
<%= render partial: "layouts/header" %>
</header>
<footer>
<%= render partial: "layouts/footer" %>
</footer>
</body>
</html>
......@@ -3,8 +3,8 @@ require_relative "application"
# Initialize the Rails application.
Rails.application.initialize!
# # Rails.logger = Logger.new(STDOUT)
# # config.logger = ActiveSupport::Logger.new("log/#{Rails.env}.log")
# Rails.logger = Logger.new(STDOUT)
# config.logger = ActiveSupport::Logger.new("log/#{Rails.env}.log")
# Rails.logger = Logger.new(STDOUT)
# Rails.logger.level = Logger::DEBUG
# Rails.logger.datetime_format = "%Y-%m-%d %H:%M:%S"
Rails.application.routes.draw do
root to: "jobs#index"
get 'jobs/index'
root "jobs#index"
resource :jobs
devise_for :users
resource :jobs do
collection {post :import}
end
end
require "csv"
namespace :job do
desc "Import CSV file into database"
task import_csv: :environment do
......@@ -23,14 +22,10 @@ require "csv"
job = Job.find_or_initialize_by(title: row["name"], company_id: company.id)
job.update(job_params)
city_params = {
region: row["company province"]
}
city_params = { region: row["company province"] }
city = City.find_or_initialize_by(name: row["work place"])
city.update(city_params)
city_job_params = {
city_id: city.id
}
city_job_params = { city_id: city.id }
city_job = CityJob.find_or_initialize_by(job_id: job.id)
city_job.update(city_job_params)
rescue
......
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