day 6 bug

制作漂亮的讯息这步时,发现做出来的没有颜色 <div class="alert alert-dismissable alert-<% flash_class(key) %>"> 少加了一个等号 <div class="alert alert-dismissable alert-<%= flash_class(key) %>"> 猜想在helpers里面这def是用来掌管颜色显示的,有待证实

def flash_class(key)
    FLASH_CLASSES.fetch key.to_sym, key
end

看来并不是FLASH_CLASSES = { alert: "danger", notice: "success", warning: "warning"}.freeze 这一段代码敲错也不出颜色,没有肉眼可以发现的错误的话,可能是输入法的关系 有一处不知道是什么错误,复制代码一遍可以通过,自己从新输入,出现了这样的错误 Screen Shot 2016-10-22 at 10.27.00 AM.png 原来是上下的flash_classes名称不统一

FLASE_CLASSES = {alert: "danger", notice: "succes", warning: "warning"}.freeze
  def flash_class(key)
    FLASH_CLASSES.fetch key.to_sym, key

undefined method each for nil:NilClass… ` <% @jobs.each do |job| %>`

   def index
    @jobs = Job.all
   end

这俩个的jobs一定要一直,再重复一遍肉眼看着没有错误的话就是输入法的问题 <td> <%= link_to(job.title, job_path(job)) %> <%= link_to("edit", edit_job_path(job)) %> <%= link_to("delete", job_path(job), :method => :delete, :data => { :confirm => "Are you s ure?"})%> </td> 如果这么写 排版就会没难看 title会和 edit,delete纠缠在一起 <td> <%= link_to(job.title, job_path(job)) %> </td> <td> <%= link_to("edit", edit_job_path(job)) %> | <%= link_to("delete", job_path(job), :method => :delete, :data => { :confirm => "Are you sure?"})%> </td> 这样写就会好很多

```
2.3.1 :003 > u.is_admin = true
NoMethodError: undefined method `is_admin=' for #<User:0x007ff2c415b418>
```
错误的把 def admin?加到了model/jobs里面,正确的应该是加入到model/user里面
rails g migration 没有 rake db:migrate 也会导致上面的问题

```
ake aborted!
StandardError: An error has occurred, this and all later migrations canceled:
SQLite3::SQLException: duplicate column name: wage_upper_bound: ALTER TABLE "jobs" ADD "wage    _upper_bound" integer
```
原因是代码输入重复
```
add_column :jobs, :wage_upper_bound, :integer
add_column :jobs, :wage_upper_bound, :integer
```
加入hide和publish按钮时 要在routes里面加入member do。要不会出现 underfined method 这种错误。