Ahmed Reza Siddique
Ahmed Reza Siddique

Reputation: 423

app working good o local host but not on heroku

I have a simple app where user A can add offers and user B can generate coupons for these offers, I don't know anything about coding and stuff so i hired a programmer who had created this system for me, everything was working great but then i integrated AWS in my app and suddenly the generate coupon button stopped working, it works fine on Localhost but not on heroku, my programmer is not here right now.

whenever i click on the button Generate Coupon For This Offer it takes me to a page saying:

The page you were looking for doesn't exist.

    You may have mistyped the address or the page may have moved.

    If you are the application owner check the logs for more information.

i checked the heroku logs:

2016-05-06T04:10:50.409337+00:00 heroku[router]: at=info method=GET path="/offer
s/3/generate_coupon" host=www.taponomics.com request_id=e130f6c2-62c6-4a68-a4b8-
97daba3653ac fwd="103.51.151.184" dyno=web.1 connect=1ms service=8ms status=404
bytes=1829
2016-05-06T04:10:50.406339+00:00 app[web.1]: Started GET "/offers/3/generate_cou
pon" for 103.51.151.184 at 2016-05-06 04:10:50 +0000
2016-05-06T04:10:50.408178+00:00 app[web.1]: ActionController::RoutingError (No
route matches [GET] "/offers/3/generate_coupon"):
2016-05-06T04:10:50.408164+00:00 app[web.1]:
2016-05-06T04:10:50.408181+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/rai
lties-4.2.3/lib/rails/rack/logger.rb:20:in `block in call'
2016-05-06T04:10:50.408184+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/rai
lties-4.2.3/lib/rails/rack/logger.rb:20:in `call'
2016-05-06T04:10:50.408181+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/rai
lties-4.2.3/lib/rails/rack/logger.rb:38:in `call_app'
2016-05-06T04:10:50.408186+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/rac
k-1.6.4/lib/rack/runtime.rb:18:in `call'
2016-05-06T04:10:50.408184+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ivesupport-4.2.3/lib/active_support/tagged_logging.rb:68:in `tagged'
2016-05-06T04:10:50.408180+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ionpack-4.2.3/lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
2016-05-06T04:10:50.408187+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ionpack-4.2.3/lib/action_dispatch/middleware/static.rb:116:in `call'
2016-05-06T04:10:50.408179+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ionpack-4.2.3/lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call'
2016-05-06T04:10:50.408189+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/rai
lties-4.2.3/lib/rails/engine.rb:518:in `call'
2016-05-06T04:10:50.408185+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ionpack-4.2.3/lib/action_dispatch/middleware/request_id.rb:21:in `call'
2016-05-06T04:10:50.408188+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/rac
k-1.6.4/lib/rack/sendfile.rb:113:in `call'
2016-05-06T04:10:50.408182+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ivesupport-4.2.3/lib/active_support/tagged_logging.rb:68:in `block in tagged'
2016-05-06T04:10:50.408183+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ivesupport-4.2.3/lib/active_support/tagged_logging.rb:26:in `tagged'
2016-05-06T04:10:50.408186+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/rac
k-1.6.4/lib/rack/methodoverride.rb:22:in `call'
2016-05-06T04:10:50.408192+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/rac
k-1.6.4/lib/rack/handler/webrick.rb:88:in `service'
2016-05-06T04:10:50.408190+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/rac
k-1.6.4/lib/rack/lock.rb:17:in `call'
2016-05-06T04:10:50.408194+00:00 app[web.1]:   vendor/ruby-2.2.4/lib/ruby/2.2.0/
webrick/server.rb:294:in `block in start_thread'
2016-05-06T04:10:50.408189+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/rai
lties-4.2.3/lib/rails/application.rb:165:in `call'
2016-05-06T04:10:50.408191+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/rac
k-1.6.4/lib/rack/content_length.rb:15:in `call'
2016-05-06T04:10:50.408192+00:00 app[web.1]:   vendor/ruby-2.2.4/lib/ruby/2.2.0/
webrick/httpserver.rb:138:in `service'
2016-05-06T04:10:50.408193+00:00 app[web.1]:   vendor/ruby-2.2.4/lib/ruby/2.2.0/
webrick/httpserver.rb:94:in `run'
2016-05-06T04:10:50.408195+00:00 app[web.1]:
2016-05-06T04:10:50.408195+00:00 app[web.1]:

My app Modal offers.rb

class Offer < ActiveRecord::Base
  has_attached_file :image, styles: { medium: "1280x720#" }, :default_url => "missing.jpg"
  validates_attachment_content_type :image, content_type: /\Aimage\/.*\Z/

  def generate_coupon
    coupon = random_coupon
    loop do
      break unless Offer.match_coupon?(coupon)
      coupon = random_coupon
    end
    coupon
  end

  private

  def self.match_coupon?(coupon)
    where(coupon: coupon).present?
  end

  def random_coupon
    'CODE' + rand((1111..9999)).to_s
  end
end

My app Controller offers_controller.rb

class OffersController < InheritedResources::Base

  def generate_coupon
    @offer = Offer.find(params[:id])
    @offer.update_attributes(coupon: @offer.generate_coupon) if @offer.coupon.blank?
  end

  private

    def offer_params
      params.require(:offer).permit(:name, :deal, :services, :address, :coupon, :image)
    end
end

My app index page index.html.erb

<head>
    <link href="/assets/bootstrap.min.css" rel="stylesheet">
    <link href="/assets/font-awesome.min.css" rel="stylesheet">
    <link href="/assets/offers.css" rel="stylesheet">
</head>

<body>
<div class="container-fluid">
  <div class="text-center">
    <h1>offers Around You</h1>
  </div>
  <p id="notice"><%= notice %></p>
  <% @offers.each do |offer| %>
    <div class="wrap ">
      <h1><%= offer.name %></h1>
      <h6><%= image_tag offer.image.url(:medium)%></h6>
      <div class="text-center">
        <h6> <%= offer.deal %></h6>
        <%= button_to "View Details", offer, :method => "get", class: "btn btn-success" %>
      </div>
      <%klass = offer.coupon.blank? ? '' : 'offer-display'%>
      <div class="row <%=klass%>" id="offer-<%=offer.id%>">
        <% if offer.coupon.blank?%>
          <%= link_to "Generate Coupon For This Offer", generate_coupon_offer_path(offer), method: :post, class: "btn btn-success", style: "margin-top: 20px; color: #fff", remote: true %>
        <% else %>
          <%= offer.coupon %>
        <% end %>
      </div>
    </div>
  <% end %>
</div>
</body>

generate_coupon.js.erb

$("#offer-<%[email protected]%>").addClass('offer-display')
$("#offer-<%[email protected]%>").html("<%[email protected]%>")

My Routes

Rails.application.routes.draw do
  resources :offers do
    get '/offers/:id', to: 'offers#show'
    member do
      post 'generate_coupon'
    end
  end
end

Updated log after dkp answer

2016-05-06T04:28:59.463133+00:00 app[web.1]: ActionView::MissingTemplate (Missin
g template offers/generate_coupon, inherited_resources/base/generate_coupon, app
lication/generate_coupon with {:locale=>[:en], :formats=>[:html], :variants=>[],
 :handlers=>[:erb, :builder, :raw, :ruby, :coffee, :arb, :jbuilder]}. Searched i
n:
2016-05-06T04:28:59.463134+00:00 app[web.1]:   * "/app/app/views"
2016-05-06T04:28:59.463135+00:00 app[web.1]:   * "/app/vendor/bundle/ruby/2.2.0/
gems/activeadmin-1.0.0.pre2/app/views"
2016-05-06T04:28:59.463136+00:00 app[web.1]:   * "/app/vendor/bundle/ruby/2.2.0/
gems/mailboxer-0.13.0/app/views"
2016-05-06T04:28:59.463137+00:00 app[web.1]:   * "/app/vendor/bundle/ruby/2.2.0/
gems/devise-3.5.9/app/views"
2016-05-06T04:28:59.463136+00:00 app[web.1]:   * "/app/vendor/bundle/ruby/2.2.0/
gems/kaminari-0.16.3/app/views"
2016-05-06T04:28:59.463140+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ionview-4.2.3/lib/action_view/lookup_context.rb:121:in `find'
2016-05-06T04:28:59.463138+00:00 app[web.1]: ):
2016-05-06T04:28:59.463139+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ionview-4.2.3/lib/action_view/path_set.rb:46:in `find'
2016-05-06T04:28:59.463148+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ionview-4.2.3/lib/action_view/renderer/template_renderer.rb:8:in `render'
2016-05-06T04:28:59.463149+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ionview-4.2.3/lib/action_view/renderer/renderer.rb:42:in `render_template'
2016-05-06T04:28:59.463141+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ionview-4.2.3/lib/action_view/renderer/abstract_renderer.rb:18:in `find_template
'
2016-05-06T04:28:59.463141+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ionview-4.2.3/lib/action_view/renderer/template_renderer.rb:40:in `determine_tem
plate'
2016-05-06T04:28:59.463152+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ionpack-4.2.3/lib/action_controller/metal/rendering.rb:32:in `render_to_body'
2016-05-06T04:28:59.463151+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ionpack-4.2.3/lib/action_controller/metal/streaming.rb:217:in `_render_template'

2016-05-06T04:28:59.463150+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ionview-4.2.3/lib/action_view/renderer/renderer.rb:23:in `render'
2016-05-06T04:28:59.463150+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ionview-4.2.3/lib/action_view/rendering.rb:100:in `_render_template'
2016-05-06T04:28:59.463152+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ionview-4.2.3/lib/action_view/rendering.rb:83:in `render_to_body'
2016-05-06T04:28:59.463153+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ionpack-4.2.3/lib/action_controller/metal/renderers.rb:37:in `render_to_body'
2016-05-06T04:28:59.463153+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ionpack-4.2.3/lib/abstract_controller/rendering.rb:25:in `render'
2016-05-06T04:28:59.463155+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ionpack-4.2.3/lib/action_controller/metal/instrumentation.rb:44:in `block (2 lev
els) in render'
2016-05-06T04:28:59.463154+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ionpack-4.2.3/lib/action_controller/metal/rendering.rb:16:in `render'
2016-05-06T04:28:59.463156+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ivesupport-4.2.3/lib/active_support/core_ext/benchmark.rb:12:in `block in ms'
2016-05-06T04:28:59.463156+00:00 app[web.1]:   vendor/ruby-2.2.4/lib/ruby/2.2.0/
benchmark.rb:303:in `realtime'
2016-05-06T04:28:59.463157+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ivesupport-4.2.3/lib/active_support/core_ext/benchmark.rb:12:in `ms'
2016-05-06T04:28:59.463158+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ionpack-4.2.3/lib/action_controller/metal/instrumentation.rb:87:in `cleanup_view
_runtime'
2016-05-06T04:28:59.463157+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ionpack-4.2.3/lib/action_controller/metal/instrumentation.rb:44:in `block in ren
der'
2016-05-06T04:28:59.463159+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
iverecord-4.2.3/lib/active_record/railties/controller_runtime.rb:25:in `cleanup_
view_runtime'
2016-05-06T04:28:59.463159+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ionpack-4.2.3/lib/action_controller/metal/instrumentation.rb:43:in `render'
2016-05-06T04:28:59.463160+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ionpack-4.2.3/lib/action_controller/metal/implicit_render.rb:10:in `default_rend
er'
2016-05-06T04:28:59.463161+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ionpack-4.2.3/lib/abstract_controller/base.rb:198:in `process_action'
2016-05-06T04:28:59.463160+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ionpack-4.2.3/lib/action_controller/metal/implicit_render.rb:5:in `send_action'
2016-05-06T04:28:59.463162+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ionpack-4.2.3/lib/action_controller/metal/rendering.rb:10:in `process_action'
2016-05-06T04:28:59.463163+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ivesupport-4.2.3/lib/active_support/callbacks.rb:115:in `call'
2016-05-06T04:28:59.463162+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ionpack-4.2.3/lib/abstract_controller/callbacks.rb:20:in `block in process_actio
n'
2016-05-06T04:28:59.463168+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ivesupport-4.2.3/lib/active_support/callbacks.rb:553:in `block (2 levels) in com
pile'
2016-05-06T04:28:59.463168+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ivesupport-4.2.3/lib/active_support/callbacks.rb:115:in `call'
2016-05-06T04:28:59.463169+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ivesupport-4.2.3/lib/active_support/callbacks.rb:503:in `call'
2016-05-06T04:28:59.463169+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ivesupport-4.2.3/lib/active_support/callbacks.rb:503:in `call'
2016-05-06T04:28:59.463174+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ionpack-4.2.3/lib/abstract_controller/callbacks.rb:19:in `process_action'
2016-05-06T04:28:59.463174+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ivesupport-4.2.3/lib/active_support/callbacks.rb:88:in `run_callbacks'
2016-05-06T04:28:59.463175+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ionpack-4.2.3/lib/action_controller/metal/rescue.rb:29:in `process_action'
2016-05-06T04:28:59.463175+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ionpack-4.2.3/lib/action_controller/metal/instrumentation.rb:32:in `block in pro
cess_action'
2016-05-06T04:28:59.463177+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ivesupport-4.2.3/lib/active_support/notifications/instrumenter.rb:20:in `instrum
ent'
2016-05-06T04:28:59.463176+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ivesupport-4.2.3/lib/active_support/notifications.rb:164:in `block in instrument
'
2016-05-06T04:28:59.463177+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ivesupport-4.2.3/lib/active_support/notifications.rb:164:in `instrument'
2016-05-06T04:28:59.463178+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ionpack-4.2.3/lib/action_controller/metal/instrumentation.rb:30:in `process_acti
on'
2016-05-06T04:28:59.463178+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ionpack-4.2.3/lib/action_controller/metal/params_wrapper.rb:250:in `process_acti
on'
2016-05-06T04:28:59.463179+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
iverecord-4.2.3/lib/active_record/railties/controller_runtime.rb:18:in `process_
action'
2016-05-06T04:28:59.463180+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ionpack-4.2.3/lib/abstract_controller/base.rb:137:in `process'
2016-05-06T04:28:59.463180+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ionview-4.2.3/lib/action_view/rendering.rb:30:in `process'
2016-05-06T04:28:59.463181+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ionpack-4.2.3/lib/action_controller/metal.rb:196:in `dispatch'
2016-05-06T04:28:59.463181+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ionpack-4.2.3/lib/action_controller/metal/rack_delegation.rb:13:in `dispatch'
2016-05-06T04:28:59.463182+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ionpack-4.2.3/lib/action_controller/metal.rb:237:in `block in action'
2016-05-06T04:28:59.463182+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ionpack-4.2.3/lib/action_dispatch/routing/route_set.rb:76:in `call'
2016-05-06T04:28:59.463183+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ionpack-4.2.3/lib/action_dispatch/routing/route_set.rb:76:in `dispatch'
2016-05-06T04:28:59.463183+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ionpack-4.2.3/lib/action_dispatch/routing/route_set.rb:45:in `serve'
2016-05-06T04:28:59.463184+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ionpack-4.2.3/lib/action_dispatch/journey/router.rb:43:in `block in serve'
2016-05-06T04:28:59.463184+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ionpack-4.2.3/lib/action_dispatch/journey/router.rb:30:in `each'
2016-05-06T04:28:59.463185+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ionpack-4.2.3/lib/action_dispatch/journey/router.rb:30:in `serve'
2016-05-06T04:28:59.463185+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ionpack-4.2.3/lib/action_dispatch/routing/route_set.rb:821:in `call'
2016-05-06T04:28:59.463186+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/war
den-1.2.6/lib/warden/manager.rb:35:in `block in call'
2016-05-06T04:28:59.463187+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/war
den-1.2.6/lib/warden/manager.rb:34:in `catch'
2016-05-06T04:28:59.463188+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/rac
k-1.6.4/lib/rack/etag.rb:24:in `call'
2016-05-06T04:28:59.463188+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/rac
k-1.6.4/lib/rack/conditionalget.rb:25:in `call'
2016-05-06T04:28:59.463187+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/war
den-1.2.6/lib/warden/manager.rb:34:in `call'
2016-05-06T04:28:59.463189+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/rac
k-1.6.4/lib/rack/head.rb:13:in `call'
2016-05-06T04:28:59.463190+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ionpack-4.2.3/lib/action_dispatch/middleware/params_parser.rb:27:in `call'
2016-05-06T04:28:59.463190+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ionpack-4.2.3/lib/action_dispatch/middleware/flash.rb:260:in `call'
2016-05-06T04:28:59.463191+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/rac
k-1.6.4/lib/rack/session/abstract/id.rb:220:in `call'
2016-05-06T04:28:59.463191+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/rac
k-1.6.4/lib/rack/session/abstract/id.rb:225:in `context'
2016-05-06T04:28:59.463192+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
iverecord-4.2.3/lib/active_record/query_cache.rb:36:in `call'
2016-05-06T04:28:59.463193+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
iverecord-4.2.3/lib/active_record/connection_adapters/abstract/connection_pool.r
b:653:in `call'
2016-05-06T04:28:59.463192+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ionpack-4.2.3/lib/action_dispatch/middleware/cookies.rb:560:in `call'
2016-05-06T04:28:59.463194+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ionpack-4.2.3/lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
2016-05-06T04:28:59.463194+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ivesupport-4.2.3/lib/active_support/callbacks.rb:84:in `run_callbacks'
2016-05-06T04:28:59.463195+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ionpack-4.2.3/lib/action_dispatch/middleware/callbacks.rb:27:in `call'
2016-05-06T04:28:59.463195+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ionpack-4.2.3/lib/action_dispatch/middleware/remote_ip.rb:78:in `call'
2016-05-06T04:28:59.463204+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ionpack-4.2.3/lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call'
2016-05-06T04:28:59.463206+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/rai
lties-4.2.3/lib/rails/rack/logger.rb:38:in `call_app'
2016-05-06T04:28:59.463205+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ionpack-4.2.3/lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
2016-05-06T04:28:59.463206+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/rai
lties-4.2.3/lib/rails/rack/logger.rb:20:in `block in call'
2016-05-06T04:28:59.463207+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ivesupport-4.2.3/lib/active_support/tagged_logging.rb:26:in `tagged'
2016-05-06T04:28:59.463207+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ivesupport-4.2.3/lib/active_support/tagged_logging.rb:68:in `block in tagged'
2016-05-06T04:28:59.463209+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ionpack-4.2.3/lib/action_dispatch/middleware/request_id.rb:21:in `call'
2016-05-06T04:28:59.463209+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/rai
lties-4.2.3/lib/rails/rack/logger.rb:20:in `call'
2016-05-06T04:28:59.463208+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ivesupport-4.2.3/lib/active_support/tagged_logging.rb:68:in `tagged'
2016-05-06T04:28:59.463210+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/rac
k-1.6.4/lib/rack/methodoverride.rb:22:in `call'
2016-05-06T04:28:59.463210+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/rac
k-1.6.4/lib/rack/runtime.rb:18:in `call'
2016-05-06T04:28:59.463211+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/act
ionpack-4.2.3/lib/action_dispatch/middleware/static.rb:116:in `call'
2016-05-06T04:28:59.463211+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/rac
k-1.6.4/lib/rack/sendfile.rb:113:in `call'
2016-05-06T04:28:59.463212+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/rai
lties-4.2.3/lib/rails/engine.rb:518:in `call'
2016-05-06T04:28:59.463212+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/rai
lties-4.2.3/lib/rails/application.rb:165:in `call'
2016-05-06T04:28:59.463213+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/rac
k-1.6.4/lib/rack/lock.rb:17:in `call'
2016-05-06T04:28:59.463215+00:00 app[web.1]:   vendor/ruby-2.2.4/lib/ruby/2.2.0/
webrick/httpserver.rb:138:in `service'
2016-05-06T04:28:59.463214+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/rac
k-1.6.4/lib/rack/handler/webrick.rb:88:in `service'
2016-05-06T04:28:59.463214+00:00 app[web.1]:   vendor/bundle/ruby/2.2.0/gems/rac
k-1.6.4/lib/rack/content_length.rb:15:in `call'
2016-05-06T04:28:59.463220+00:00 app[web.1]:   vendor/ruby-2.2.4/lib/ruby/2.2.0/
webrick/httpserver.rb:94:in `run'
2016-05-06T04:28:59.463221+00:00 app[web.1]:   vendor/ruby-2.2.4/lib/ruby/2.2.0/
webrick/server.rb:294:in `block in start_thread'
2016-05-06T04:28:59.463222+00:00 app[web.1]:
2016-05-06T04:28:59.463221+00:00 app[web.1]:

application.js

//= require bootstrap
//= require jquery
//= require jquery.turbolinks
//= require jquery_ujs
//= require jquery-1.11.1
//= require jquery.easing.min

//= require_tree .

Upvotes: 0

Views: 158

Answers (2)

dp7
dp7

Reputation: 6749

Logs:

2016-05-06T04:10:50.406339+00:00 app[web.1]: Started GET "/offers/3/generate_cou
pon" for 103.51.151.184 at 2016-05-06 04:10:50 +0000
2016-05-06T04:10:50.408178+00:00 app[web.1]: ActionController::RoutingError (No
route matches [GET] "/offers/3/generate_coupon"):

You are making a GET request but you have specified in your route to serve a POST request.

EDIT

Your OffersController generate_coupon action actually updating attributes, so kindly change your route to put (see my below changes for routes):

routes

resources :offers do
  get '/offers/:id', to: 'offers#show'
  member do
   put 'generate_coupon'
  end
end

Add method: :put to your link_to:

<%= link_to "Generate Coupon For This Offer", generate_coupon_offer_path(offer), method: :put, class: "btn btn-success", style: "margin-top: 20px; color: #fff", remote: true %>

In order to deal with the ActionView::MissingTemplate (Missin g template offers/generate_coupon issue,

just make sure you have the corresponding template in views/offers/generate_coupon.js.erb

application.js

//= require jquery
//= require jquery_ujs
//= require bootstrap
//= require jquery.turbolinks
//= require jquery.easing.min
//= require_tree .

Upvotes: 1

CfourPiO
CfourPiO

Reputation: 351

Do the job in two separate methods. One for showing the data and other for updating the records.

def show
      @offer = Offer.find(params[:id])
end

def create
     @offer.update_attributes(coupon: @offer.generate_coupon) if  
     @offer.coupon.blank?
end

And change that js file to create.js.erb . Just make things clear and separate the methods from resources and see if it's working perfectly. Let me know the progress.

Upvotes: 0

Related Questions