itoodaisuke / dokushokanri

0 stars 1 forks source link

書籍の情報を取得するようにする #3

Closed kayhide closed 10 years ago

kayhide commented 10 years ago

2 と関連しますね。

isbnの他に何を管理するのか決めたら、その情報を取得できるようにしましょう。

取得できる情報を先に調べる方がよいかもしれませんね。

itoodaisuke commented 10 years ago

isbnを使ってどうやって書籍の情報を取得しますか? 方法によって取得出来る情報が変わるかもしれません。

isbn自体は、国、出版社、タイトル、著者の情報が付与されているみたいです。

kayhide commented 10 years ago

さしあたってアマゾンからデータを取得するのがよいと思います。 タイトルや著者といった情報は取得できます。

itoodaisuke commented 10 years ago

わかりました。調べてみます。

itoodaisuke commented 10 years ago

amazon-ecsを使ってみました。 とりあえず、/books/newに、キーワードの検索結果を表示させたいのですが、うまく出来ません。なにがいけないのでしょうか?

ブランチを新しく作りました。 http://github.com/itoodaisuke/dokushokanri/tree/amzn-api

kayhide commented 10 years ago

うまく出来ない、の詳細を教えてください。 少なくとも、

くらいは知らせていただきたいです。

itoodaisuke commented 10 years ago

すみません。詳細です。
最終的に期待する動作として、/books/newにあるフォームからキーワード検索することで、/books/newにキーワードの検索結果を表示し、さらにそれを選択できるようにし、選択するとフォームにデータが入力されるようしたいです。

kayhide commented 10 years ago

了解しました。 それではまず問題の切り分けをしましょう。

大きくわけて、考えられるのは

の2点です。

問題が起きているのはどちらでしょうか? これを突き止めましょう。

rails のコンソールは使っていますか? http://guides.rubyonrails.org/command_line.html

もし使っていないようでしたら、使ってみてください。 アマゾンからデータが取れてるか否かを調べるのに役立つでしょう。

itoodaisuke commented 10 years ago

railsコンソールですが、guideを読んでも使い方がよくわかりません。 今回のようなときに、どのように使えばよいのでしょうか?

http://tmpla.info/archives/1591 を参考に、books/indexで情報を取得することはできましたので、おそらく、

のだと思います。 image

新しくブランチを切りました。
http://github.com/itoodaisuke/dokushokanri/compare/amzn-api-index

kayhide commented 10 years ago

books/index では情報が表示される。 books/new では情報が表示されない。

ということですね。

では問題をまた区切っていきましょう。

のどちらでしょうか?

itoodaisuke commented 10 years ago

books/indexでは表示されており、ルートの設定を post 'books/new' と変更しているので、

rails s をした際のログを見る限り、Amazon::Ecs.item_searchを行っており、うまくやっているように思います。

indexで動く設定をnewにそのまま適用して、動作が変わる理由がわからないです。 また、rails consoleで@resに保存されているかを確認する仕方がわかりませんでした。

kayhide commented 10 years ago

では、どんどん細かくしましょう。 流れはこうですね。

  1. コントローラーの中で Amazon::Ecs.item_search を呼ぶ。
  2. 呼んだ結果を @res に入れる。
  3. ビューで表示する。

1はできていて、3でもないなら、2が怪しいです。

indexで動く設定をnewにそのまま適用して、動作が変わる理由がわからないです。

その理由を突き止めれば対応できますね。

また、rails consoleで@resに保存されているかを確認する仕方がわかりませんでした。

ログに書き出させるのがお手軽です。 http://guides.rubyonrails.org/debugging_rails_applications.html#the-logger

itoodaisuke commented 10 years ago

(誤ってClosed押してしまいました。)

binding.pryをnewアクション内に使ったところ、@resに呼んだ結果を格納できていました。 したがって、

ルートの設定で間違っていると思うので、guide読みつつ調べてみます。

itoodaisuke commented 10 years ago

まだルーティング周りが手付かずですが、ようやく、newページに検索結果を表示することができました。

ルーティングを綺麗にしていくと同時に、

検索結果を選択することで、フォームに記入されるようにしていこうと思います。

itoodaisuke commented 10 years ago

完了

kayhide commented 10 years ago

enhancement(機能追加)やbug(不具合修正)のイシューを完了する場合は、対応するコミットを分かるようにしてくださいませ。

コミットのコメントでイシューのナンバーを入れておくのがオススメです。 https://help.github.com/articles/closing-issues-via-commit-messages

itoodaisuke commented 10 years ago

コミットのコメントでイシューcloseしたり出来るんですね!やってみます。