こんにちは。プログラミング初心者です。
## 質問内容
https://qiita.com/ryo94/items/a0d1f6b69e2983b9be4e
こちらのサイトを見ながらherokuを使い、linebotを作っています。
Herokuにデプロイするところまではできたので
heroku open
でブラウザを開いたところ↓のようなページになりました。
heroku logs -tで見てみたところ
2020-03-14T04:22:42.435882+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=wikipedia-client.herokuapp.com request_id=ccd06d62-2a28-4741-ba28-cccb2351a6c7 fwd="60.73.163.161" dyno= connect= service= status=503 bytes= protocol=https
/app/vendor/bundle/ruby/2.6.0/gems/zeitwerk-2.3.0/lib/zeitwerk/loader/callbacks.rb:17:in `on_file_autoloaded': expected file /app/app/controllers/users_controller.rb to define constant UsersController, but didn't (Zeitwerk::NameError)
二つのエラーが出ていました。
この二つのエラーの意味と原因がわかるかた教えていただきたいです。
下のエラーの/app/vendor/bundle/ruby/2.6.0/gems/zeitwerk-2.3.0/lib/zeitwerk/loader/callbacks.rbを編集しようと思い、vimで開こうとしたのですが、そもそもファイルがなかったです。
##app/controllers/users_controller.rb
class LinebotController < ApplicationController
require 'line/bot'
require 'wikipedia'
protect_from_forgery :except => [:callback]
def client
@client ||= Line::Bot::Client.new { |config|
config.channel_secret = ENV["LINE_CHANNEL_SECRET"]
config.channel_token = ENV["LINE_CHANNEL_TOKEN"]
}
end
def callback body = request.body.read signature = request.env['HTTP_X_LINE_SIGNATURE'] unless client.validate_signature(body, signature) head :bad_request end events = client.parse_events_from(body) events.each { |event| if event.message['text'] != nil word = event.message['text'] Wikipedia.Configure { domain 'ja.wikipedia.org' path 'w/api.php' } end page = Wikipedia.find(word) response = page.summary + "\n" + page.fullurl case event when Line::Bot::Event::Message case event.type when Line::Bot::Event::MessageType::Text message = { type: 'text', text: response } client.reply_message(event['replyToken'], message) end end } head :ok
end
end
これらのエラーの意味と原因がわかる方、ご教授お願い致します。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/14 12:22
2020/03/14 13:21
2020/03/15 12:27
2020/03/15 15:17