yujiroのプログラミング

勉強内容をアウトプットし、サボらないようにする為のブログ

<DAY103>ruby likeってアプリを作り始めた。

\ Follow me!! /

f:id:yujiro0320:20190512223713p:plain

学習状況

●学習日数 103日

●学習時間(本日)6.5時間

●累計学習時間 468.0時間

●一日あたりの平均学習時間 4.52時間

自分が今欲しいアプリ

rubyの問題文をクイズ形式で出し合い理解を深めるゲーム
単語帳のように気軽に使う事ができ、覚えていたいメソッドや型を理解できる

アプリの仕様

  • (1)問題を投稿、削除、編集ができる
  • (2)問題を解く事ができる
  • (3)答えとその問題のポイントを知る事ができる
  • (4)問題の理解度に合わせてタグつけができる
  • (5)rubyコードに対応した投稿画面である
  • (7)理解度が低い問題を上位に表示する機能がある
  • (8)といた問題を一覧で表示できる
  • (9)投稿したユーザーのみが編集と削除ができる

今後の投稿について

1週間かけて実装していく。
アプリを作りながら実装の復習をしてゆき、実装時に復習かねてあやふやであった点を羅列しメモしていく。

モデルオブジェクトに追加情報を与えたい時

fromで入力されたデーターなど、情報を加えたい時は可動性を高める為に
モデルに記載する。

(例)入力された金額データーに消費税を追加したのを保存したい

#モデルに記載
#priceをキーとして情報が飛んでいる状態

def add_tax

self.price = (price * 1.08).round

end

コントローラではこのように記載

@project = create(project_params)
@project .add_tax

もちろんコントローラにも記載はできる。
ただ、可動性が低くなるので、記入は避けたい。
このような書き方になる

def add_tax(project)

project.price = (price * 1.08).round

end

def create
@project = Project.create(project_params)
@project.price = add_tax(@project) 
end

コントローラーにはアクションできるだけアクションだけでまとめたいところ。

eachを使ってdivタグで要素を囲みたい

なぜかあんまりわかっていなかったけど、配列データーが
eachで生成されるわけなので、生成したいdivタグも
eachで囲んでしまわないといけない。

 <% @tweets.each do |tweet| %>
   <div class="content_message">
    <div class="content_message_text"><%=tweet.content%>
    </div>
    <div class="content_message_option">
    <%= link_to "削除", tweet_path(tweet), method: :delete %>
    <%= link_to "編集", edit_tweet_path(tweet) %>
    </div>
   </div>
  <%end%>