<DAY103>ruby likeってアプリを作り始めた。
学習状況
●学習日数 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%>