質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

1回答

915閲覧

railsでTwitterbotを作ろうと思っております

yossyjapan

総合スコア11

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2016/05/29 18:16

###前提・実現したいこと
ruby on railsでTwitterbotを作ろうと思っています。このサイトの通りに勉強して作成しています。
http://qiita.com/ryoya-s/items/bc8a0e39716bb2844f0b

環境はrails sでローカル環境で開発しております。rubyでのTwitterbotを作ることも試みておりますが、今回はこの記事のようにruby on railsでやってみたいのです。
###発生している問題・エラーメッセージ
ですが、tweet controllerのpostアクションで、media = open(tweet.image)の箇所で、Errno::ENOENT in Tweetscontroller#postとエラーがでてしまいます。

当該サイトの記事作成者様に問い合わせしようとも思いましたが、記事作成から半年がすぎ、今現在更新も特にされていないようなので、こちらで質問させていただきました。

何がどう良くないのかわからなくなってしまいました。

はじめて1ヶ月の初心者ですが、よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

恐らくTweetsControllerに「post」というアクションが定義されてないのが問題かと。
もう一度、確認してみてください。

投稿2016/05/29 22:15

kou0179

総合スコア304

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yossyjapan

2016/05/30 00:50

早速のご回答ありがとうございます。 postアクションは、下記の通り定義しておりますが、これでは何かまずいところがあるのでしょうか。ブラウザでlocalhost3000をたたいて、ツイート画面まではいけるのですが、ツイートボタンを押すと、media = open(tweet.image)の箇所がエラーだよとなってしまいます。 def post tweet = Tweet.order('rand()').first status = tweet.text media = open(tweet.image) @client.update_with_media(status, media) redirect_to :root end お手数ですがよろしくお願いいたします。
kou0179

2016/05/30 03:17

pry-railsなどのデバックgemは入っていますか? 入ってなければ、インストールして tweet = Tweet.order('rand()').first 直後にブレークポイントをセットして tweet と入力し内容を教えて下さい。
yossyjapan

2016/05/30 23:22

コメントありがとうございます。 仕事で、PCが触れなかったため、本日トライさせていただきます。 またご報告させていただきます。
yossyjapan

2016/05/31 15:43

kou0179さん ご連絡が遅くなりまして大変申し訳ございません。 ご指摘いただいた通りに、pry-railsをインストールし、bundle install後、ツイートボタンを押して、postアクションを呼び出してみましたら、以下の通り表示されました。 12: def post 13: tweet = Tweet.order('rand()').first => 14: binding.pry 15: status = tweet.text 16: media = open(tweet.image) 17: @client.update_with_media(status, media) 18: redirect_to :root 19: end Sorry, you can't use Pry without Readline or a compatible library. Possible solutions: * Rebuild Ruby with Readline support using `--with-readline` * Use the rb-readline gem, which is a pure-Ruby port of Readline * Use the pry-coolline gem, a pure-ruby alternative to Readline Completed 500 Internal Server Error in 86ms (ActiveRecord: 2.6ms) LoadError in TweetsController#post dlopen(/Users/私の名前/.rbenv/versions/2.2.2/lib/ruby/2.2.0/x86_64-darwin13/readline.bundle, 9): Library not loaded: /usr/local/opt/readline/lib/libreadline.6.dylib Referenced from: /Users/私の名前/.rbenv/versions/2.2.2/lib/ruby/2.2.0/x86_64-darwin13/readline.bundle Reason: image not found - /Users/私の名前/.rbenv/versions/2.2.2/lib/ruby/2.2.0/x86_64-darwin13/readline.bundle 何かバージョンが違い読み込めないというような書き方でしょうか? よろしくお願いします。
kou0179

2016/06/02 05:59

エラーが出た時は、検索すればだいたい出てきますので調べてみる事をおすすめします。全部その都度、聞いてたらキリが無いので; >> http://bit.ly/1UivH09
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問