かんたんなTODOアプリを作る(2,3回目)

前回作った最低限のTODOアプリを再度作成しました。簡素な機能とレイアウトはまったく同じです。


今回学んだこと

  • form_forヘルパーの仕組み(記事作成済み)
  • User.new(params[:task])でForbiddenAttributesErrorが出るのは、mass assignmentの脆弱性チュートリアルで出たやつ)を防ぐ意図でそういう設計になってる
  • redirect_to 'tasks_path'という記述をすると504エラーになる
  • indexビューで使った <% @tasks.each do |task| %>を間違えて<%=にするとページが大変なことになる
  • DELETEリクエストを送信したいときはmethod: :deleteをオプションで指定する
  • ルーティングのas:は名前付きルーティングを可能にする。as: :taskと記述すると赤くハイライトされるのでわかりやすい

  • get '/tasks/:id/edit', to: 'tasks/edit', as: :edit
    というルーティングがある場合、コントローラの該当アクションで
    @task = Task.find(params[:id])
    という設定がされていれば、 (@task内にid情報が含まれているので)
    link_to '編集' edit_path(@task)
    でIDを指定することで呼び出せる

最初は3,4時間かかって作成してたんですけど、3回目は1時間で作成完了しました。
この'何度も同じTODOアプリを作る'という課題の目的にはプログラミング自体に慣れるのも含まれてはいますが、
1回ごとに自分で課題を設定し、細かく着実にステップアップしていくことです。


今後の課題

  • 同じものをより早く作れるようになる
  • テストを書きながら作業を進める(今回ひとつも書いてない!)
  • git管理の方法のひとつ?であるgit-flow?を身につける
  • bootstrapを使ってみる
  • 機能の充実