11-1招聘网站第六部分

目标:


  • 首页可以按照职缺薪资下限排序
  • 首页可以按照职缺薪资上限排序
  • 首页可以按照职缺发表时间排序
  • Job.where(:is_hidden => false").order("created_at DESC") 重构成 Job.published.recent

Step1: 将薪资上限、薪资下限加入首页职缺表

修改app/views/jobs/index.html.erb<table>

<table class="table table-boldered">
    <thead>
       <tr>
           <td>
               职缺</td>
           <td>薪资下限</td>
           <td>薪资上限</td>
           <td>刊登时间</td>
         </tr>
    </thead>
    <tbody>
           <% @jobs.each do |job| %>
           <tr>
             <td>
    <%= link_to(job.title, job_path(job) %>
             </td>
             <td>
  <%= job.wage_lower_bound %>
            </td>
             <td>
  <%= job.wage_upper_bound %>
             </td>
             <td>
    <%= job.created_at %>
             </td>
            </tr>
          <% end %>
     </tbody>
 </table>

Step2:加上下拉选单

app/views/jobs/index.html.erb ,在 <table> 之前加入“下拉选单”

 <div class="dropdown clearfix pull-right">
    <button class="btn btn-default dropdown-toggle" 
type="button" id="dropdownMenuDivider" data-toggle="dropdown" 
aria-haspopup="true" aria-expanded="true">
      排序
        <span class="caret"></span>
    </button>
    <ul class="dropdown-menu" aria-labelledby="dropdownMenuDivider">
        <li>
          <%= link_to("按照薪资下限排序", jobs_path(:order => "by_lower_bound")) %>
        </li>
        <li>
            <%= link_to("按照薪资上限排序", jobs_path(:order => "by_upper_bound")) %>

        </li>
        <li>
          <%= link_to("按照发表时间排序", jobs_path ) %>

        </li>
    </ul>
</div>

Step3 建立published scope

app/models/job.rb

class Job < ApplicationRecord
...
  scop :published, -> { where(is_hidden:false) }
  scop :recent, -> { order('created_at DESC') }
end

app/controllers/jobs_controller.rb

def index 
    @jobs = case params[:order]
     when 'by_lower_bound'
       Job.published.order('wage_lower_bound DESC')
     when 'by_upper_bound'
  Job.published.order('wage_upper_bound DESC')
     else
       Job.published.recent
     end
end

commit

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 可送出简历:/jobs/1/resumes/new 简历内容不为空 使用者得登入才能提交简历 使用attachme...
    小耿_da0a阅读 312评论 0 0
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,699评论 25 708
  • Part 1: 1.首先要克隆专案;https://github.com/quanzhanying/jdstore...
    小耿_da0a阅读 548评论 0 2
  • 两个方向:1质量:极致,突破,分享;2效率:天赋,兴趣,专注,判断力,先看后做,流程,先众后专。
    拂晓健行阅读 173评论 0 0
  • 文/戏言菌 原谅我不敢言 从未说过的爱 像蝉在冬夜里沉默 如果熬的到春花开 ...
    戏言菌阅读 194评论 0 0