【開発メモ】Ruby on Railisでシンプルなレシピ投稿サイトを作ってみた

[toc] こんにちは。さかなEXです。 3連休は雨続きで外に出られず、引き籠りライフ満喫中です。 最近はスクレイピングにドはまりしてしまい諸々のデータを集めまくっていたのですが、折角なら収集したデータを見やすい形で共有できればなあという考えが浮かんできたので、WEBサービスの形態を取ってコンテンツを探しやすくしておこうと思いつきました。 溜まり続けるデータ達↓ https://tokuchie.com/lohaco_sale_sheet/ https://tokuchie.com/amazonprime_video_list/ https://tokuchie.com/kindle_unlimited_business/

プロセス

開発動機

  • スクレイピングで集めたデータの置き場に困っている

  • 唯一神Amazonを中心に 〇〇放題サービスが爆増していて、世の中のコンテンツの量自体はめちゃめちゃ増えているはずなのに、イマイチみんなその楽しさを味わえていないような気がする。( ①検索のしづらさ ②何が面白いのか探すのがメンドい ってのが原因だと思っている)

  • 家で暇

構想

機能的には、楽天ROOMのようにおススメの商品やコンテンツをストックできるようなサイトを考えている。 見た目は1度に沢山の商品が見られるのがいいので、家電会議のようなカード型レイアウトがいいな~と。今風だし。 レコメンド機能も付けられるといいなとか思ったり。

学習に使用した情報たち

改訂3版 基礎 Ruby on Rails 基礎シリーズ
インプレス (2015-05-29) 売り上げランキング: 37,568

開発過程でできたもの達

成果物①(トクチエレシピ -料理サイトのような何か-)

レシピトップ画像

実装した機能

  • 会員登録
  • 家電会議っぽいUI
  • 画像のアップロード
  • モデル間のリレーション
  • ユーザー投稿機能(作成/編集/更新/削除)
  • カテゴリの紐付け及び表示
  • DB検索機能

成果物②(トクチエスペース-おススメ品を紹介しあう何か-)

スペーストップ画像

実装した機能

  • 会員登録
  • いいねボタン
  • モデル間のリレーション
  • 画像のアップロード
  • ユーザー投稿機能(作成/編集/更新/削除)
  • コメント投稿機能

Githubレポジトリ

トクチエレシピ https://github.com/Sakanakunn/dribbble_clone

トクチエスペース https://github.com/Sakanakunn/dribbble_clone

ゴリゴリのGeekに憧れてQiitaに投稿してみた!

Railsにbootstrap-sassを導入 http://qiita.com/koyamauchi/items/8ee9869be18baefc7396

Cloud9ワークスペースにimagemagickを導入するためのメモ http://qiita.com/koyamauchi/items/22f6016d501b4350e8b2

開発途中のメモ

renderについて詳しく書いてある http://ruby-rails.hatenadiary.com/entry/20141125/1416918957

コントローラー内で、render "hogehoge"を指定すると、 同一モデル内の "hogehoge"アクションを呼び出す。

simple_formがらみの情報 - Simple_formはlabelが必ず併記される - RailsのPOST内容は、RequestPayloadの形式で実際の所は処理されている

link_toがらみの情報(http://railsdoc.com/references/link_to) - link_to でmethodを指定する場合の記述方法: => method: delete - popupウインドウの表示 => data: {confirm: "XXXXXXXXXXXXXXXXXXX"} - class: "XXXXXXXXX" ← 属性の追加

sassの導入方法 http://qiita.com/koyamauchi/items/8ee9869be18baefc7396

haml関連 - .XXX => < div class="XXX">に変換

redirect_to "Index" と redirect_to root_pathの違い > 前者は、ビューファイルのみが、描写される > Indexアクションの呼び出し無し > 後者は、indexアクションが呼び出される 不要なエラーの元になるので、なるべくアクション経由のビュー呼び出しを行う習慣を身につけておこう。

each_slice(X)=> X個ずつ要素取り出し

次にやること

  • レコメンデーション機能の実装(むずそう)

久々にものづくりしたら楽しかった

映像制作はストップしていたし、バイクのカスタマイズもご無沙汰だったので、何かを作ることから最近離れていたけど、やっぱり自分の手を動かして何か作るのは楽しいなと実感。

あと、Qiitaに試しに投稿してみるとトクチエブログではまだ獲得できていないはてブもついてしまったので、ブログ本体はどうなんだと少し複雑な気分w