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

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

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

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

RubyGems

RubyGemsはRubyによるプログラミングのためのパッケージマネジメントツールです。ユーザはこれを使用することで、Rubyライブラリのダウンロードやアップデートや、依存関係の自動解決が可能になります。

Ruby on Rails

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

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

解決済

1回答

2781閲覧

Flickrawの使い方について

mannnakakunn

総合スコア24

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

RubyGems

RubyGemsはRubyによるプログラミングのためのパッケージマネジメントツールです。ユーザはこれを使用することで、Rubyライブラリのダウンロードやアップデートや、依存関係の自動解決が可能になります。

Ruby on Rails

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

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

0クリップ

投稿2015/12/12 01:46

編集2015/12/12 13:46

Rails、API初心者です。

Flickrawの使い方について質問です。
下記のリンク記事を参考にFlickrawの導入を考えています。

http://shmztkyk.hatenablog.com/entry/2014/03/18/211916

質問は2点、

⑴この文中にある、下のコードはどのフォルダのどのファイルに書き込めば良いのでしょうか?

def flickr_search(word) FlickRaw.api_key = Settings.flickr_api_key FlickRaw.shared_secret = Settings.flickr_shared_secret flickr.access_token = Settings.flickr_access_token flickr.access_secret = Settings.flickr_access_secret flickr.test.login @photos = flickr.photos.search(text: word, license:"1,2,3,4,5,6") end

applicationhelperやcontrollerに上記のコードを記述して、ビューに対して、<%= flickr_search("word") %>のような形で呼び出してもうまくいきませんでした。自作ライブラリ?の扱いでlibフォルダ下なのでしょうか。。

⑵こちらのコードをビューに対して書くということで良いのでしょうか?

- @photos.each do |photo| - url = "http://farm#{photo.farm}.static.flickr.com/#{photo.server}/#{photo.id}_#{photo.secret}_m.jpg" = image_tag(url)

てっきり
= flickr_search("word")のような形で、使うのかと思っていたのですが…。
どなたか、ご指導よろしくお願いします


jinco様に解決済みですが、補足メモをさせてください。

showアクションで、個別のモデルと結びつける場合(間違っているかもしれませんが)

  • before actionにflickr_searchアクションを指定する
  • flickr_searchアクションの中のwordをModel.find(params[:id]).nameのように指定する

で動作しました。

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

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

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

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

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

guest

回答1

0

ベストアンサー

flickr_searchをコントローラに記述してviewで@photosのデータを処理するという理解であっていると思います。ただ「ビューに対して、<%= flickr_search("word") %>をする」のではなく、flickr_searchは別の検索画面から飛ばされたwordを受け取って、それをflickrで検索しているのだと思います。

まずはwordには適当に引っかかりそうな検索文字列を入れて、その結果をviewで表示してみてはどうでしょうか。
検証していないので、ご自身で調整してみてください。

ruby

1def flickr_search(word) 2 word = 'car' 3 FlickRaw.api_key = Settings.flickr_api_key 4 FlickRaw.shared_secret = Settings.flickr_shared_secret 5 flickr.access_token = Settings.flickr_access_token 6 flickr.access_secret = Settings.flickr_access_secret 7 flickr.test.login 8 @photos = flickr.photos.search(text: word, license:"1,2,3,4,5,6") 9 #そもそもデータが受け取れているか確認 10 logger.warn("number of photos from flickr: #{@photos.count}") 11 end

flickr_search.html.erb

html

1<ul> 2<% @photos.each do |p| %> 3 <li><img src="http://farm<%= p.farm %>.static.flickr.com/<%= p.server %>/<%= p.id %>_<%= p.secret %>_m.jpg"></li> 4<% end %> 5</ul>

投稿2015/12/12 03:14

jinco

総合スコア432

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

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

mannnakakunn

2015/12/12 13:08

jinco様 ありがとうございます!感謝感激です。 無事表示がうまくいきました。勉強になりました。
jinco

2015/12/12 13:21

よかったです!初のベストアンサーで嬉しいです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問