Skip to content

Instantly share code, notes, and snippets.

@radar
Last active August 29, 2015 14:08
Show Gist options
  • Select an option

  • Save radar/05d5e1d1c358cbdf80c6 to your computer and use it in GitHub Desktop.

Select an option

Save radar/05d5e1d1c358cbdf80c6 to your computer and use it in GitHub Desktop.

NoMethodError at /coders
undefined method `time_counter' for #<Coder:0x007f8d5def4a88>

views/coders/index.html.erb

<% @coders.each do |coder| %>
  <div class="post_item">
    <%= image_tag coder.cover_image, class:"cover_image_index" %>
    <div class="index_title"><%= sanitize coder.title %></div>
    <div class="index_description"><%= sanitize coder.description %></div>
    <div class="index_date">PUBLISHED ON <%=  coder.created_at %>
      <span class="reading_time"><%= "#{ time_counter(coder) }" %></span>
    </div>
  </div>
<% end %>

controllers/coders_controller.rb

class CodersController < ApplicationController
    helper_method :time_counter, :words_per_minute
    
    def index
        @coders = Coder.all
    end
    
      
end

app/helpers/coders_helper.rb

module CodersHelper
    def time_counter(coder)
      words_per_minute = 200
        time = (coder.content.split.count / words_per_minute)
        case
        when time <= 1 then "READ IN 1 MIN"
        when time > 1 then "READ IN #{coder.content.split.count / words_per_minute} MIN"
        end
    end
end

coder.rb

class Coder < ActiveRecord::Base
  has_attached_file :cover_image, :styles => { :medium => "300x300>", :thumb => "100x100>" }, :default_url => "/images/:style/missing.png"
  validates_attachment_content_type :cover_image, :content_type => /\Aimage\/.*\Z/
end

schema.rb

  create_table "coders", force: true do |t|
    t.string   "title"
    t.text     "content"
    t.datetime "created_at"
    t.datetime "updated_at"
    t.string   "description"
    t.string   "cover_image_file_name"
    t.string   "cover_image_content_type"
    t.integer  "cover_image_file_size"
    t.datetime "cover_image_updated_at"
  end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment