かんたんな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を使ってみる
- 機能の充実