

以下のgemを導入したいと思っております。

<https://github.com/fnando/coupons>

READMEの手順どおり、  
Gemfileに追加をした上で、

$ bundle install

config/routes.rbの編集

をしたのですが、

uninitialized constant Coupons::Engine (NameError)

というエラーがでます。

Railsエンジンの問題かと思い以下のようなサイトを元に調べているのですが、原因がわからず困っております。  
<http://railsguides.jp/engines.html>

railsのコンソール上では確かに  
Couponsのモジュールは読み込みされているのですが、  
Coupons::Engineのモジュールはありませんでした。

こういう場合にどのような手順を踏んでいけば解決できるのかがわかないです。

github上のissueやpull requestなども探したのですが、解決方法はなく・・・。

宜しくお願いします。

=============2016/05/02 追記 =================

user3758624さんの回答の通り、

gem 'coupons', git: '<https://github.com/fnando/coupons.git>'

とすると、上手くいきました。

しかし、その後に

<http://localhost:3000/coupons>

にアクセスした際に以下のエラーがでます。

ActiveRecord::StatementInvalid in Coupons::Coupons#index

[code]

    SQLite3::SQLException: no such table: coupons: SELECT  "coupons".* FROM "coupons"  ORDER BY "coupons"."created_at" DESC LIMIT 51 OFFSET 0
    
[/code]

原因はcouponのgemで使用するはずのcouponモデルが生成されてないためだと思います。

こちらで、couponモデルをつくるのではなく、gem側でモデルを作成するようなコードになっているようにみえるのですが、上手くいきません。

度々で申し訳ありませんが、再度ご知恵をお貸しいただけないでしょうか？


CC BY-SA 3.0
2016-05-01T05:37:43.507
24485
2016-05-02T08:58:34.783
2016-05-02T08:58:34.783
13175
13175
question
ruby-on-rails ruby rubygems
Railsエンジンのmountが上手く行かず、uninitialized constant(NameError)がでてしまいます。


`gem 'coupons', git: 'https://github.com/fnando/coupons.git'`  
にして bundle しなおしてください。

gem 'coupons' で落ちてくるコードの中身は、空でした.

[code]

    require 'coupons/version'
    
    module Coupons
      # Your code goes here...
    end
    
[/code]


CC BY-SA 3.0
2016-05-01T23:57:41.423
24500
2016-05-01T23:57:41.423
7471
24485
answer