読者です 読者をやめる 読者になる 読者になる

Uni-Q blog

うにきゅう ぶろぐ

実際にアプリを作る編(Rails Girls Tokyo 2日目)

もう先々週ぐらいのことになりますが。。1日目の続き〜。 (順番違うかもしれません)

【1】 tryrubyでRubyのコードに触れる

<http://tryruby.org/>

文字列、数字、配列、ハッシュまで学習。
印象としては「短い!」「覚えやすい!(覚えることが少ない)」です。

【2】MVCの説明

railsにおけるMVCのお話。
別途、記事かきましたよ!

【3】LT

Rubyまわりではこんなイベントやってます、
初心者(珍獣さん)大歓迎♪
女子も大歓迎♪な内容で だいぶ勇気づけられましたw
楽しかった!

【4】 bentoboxでアプリ作る仕組みを知る

あとで調べてから細かく書いてみようと思いますが…
インフラ・バックエンド・フロントエンド…
それぞれ担当する箇所には何があるか〜?といったお話でした!
自分が会社で作ってたアレやコレは、こんな感じの構造で作られるのね…!

と勉強になりました。

【5】アプリの元を作る?

こちらにしたがってアプリの元?を作って設定する。

<http://guides.railsgirls.com/app/>

【6】とりあえずHerokuで公開してみる

Git を使うのだけど、自分は仕事で git 使ってたので、ついていけたと思う。

【6-1】Git のリポジトリ作る

$ cd <アプリ作ってるディレクトリ>
$ git init

これで「.gitignore」とかファイルが出来たりして(たぶん)、
「ここのディレクトリはGitの管理でーす」ってなったんだと思う。

【6-2】Gemfileに追記する

アプリ作ってるディレクトリに「Gemfile」っていうのがあるので、
それをエディタで開いて 以下を追加する。

develop環境ではsqlite3使って、production環境ではpg使うって設定してるのかなあ???

gem 'sqlite3', group: :developmen gem 'pg'', group: :production

【6-3】ばんどるいんすとーる

$ bundle --without production

Gemfileを変更したのでbundle install。
production除外ってことは、pgはHerokuだけで使うのかな?

【6-4】git add して commit

$ git add .
$ git commit -am "init"

ぜんぶaddするよ〜。
commit のコメントは「init」だよ〜。

【6-5】Herokuにアプリ置くよ!

とりあえずcreate

$ heroku apps:create

このとき、http://〜〜.herokuapp.com/ってURLが発行されます。

そしてgit push

$ git push heroku master

初めての時はyes/noが出る データベースのセットアップ

$ heroku run rake db:migrate

これでHerokuにアプリ置いて動くようになりました!
全世界に公開中状態!
createした時のURLにアクセスしてみよう!

【7】アプリをカスタマイズしてみる

【7-1】投稿日をいれてみる

railsに日付のapiがすでに用意されているっぽい

<%= idea.updated_at.strftime '%Y年%m/%d %T ' %>

【7-2】投稿へのタイトルに記事へのリンク貼る

記事へのリンクが、

<%= link_to 'Show', idea %>

となってたので…
(Showっていう文字列にリンクが貼ってある状態) えっとつまり?
link_toを書くとaタグでリンクにしてくれるのかなあ?
そんなわけで 記事名がでてるところを以下のように変更!…だけでOKだった!

<%= idea.name %>

<%= link_to idea.name, idea %>

【7-3】indexでもshowページみたいに画像を表示したい

index.html.erbでは

<%= idea.picture %>

これが文字列状態。

「image/hoge.png」みたいになってました。

show.html.erbでは

<%= image_tag(@idea.picture_url, :width => 600) if @idea.picture.present? %>

こっちは画像が幅600pxで表示されてた。

indexを以下のように変更

<%= image_tag(idea.picture_url, :width => 100) if idea.picture.present? %>

indexでは、

<% @ideas.reverse.each do |idea| %>

の中で、 記事のタイトルやコメントや画像それぞれは「idea」っていうので指定されてた。 「@ideas」の中では「idea」にしないといけないみたい?

<http://api.rubyonrails.org/>

ここにrailsのapiあるので、自分でも調べてみよう!