Hamlとは,簡単に正しい(X)HTMLを記述するためのマークアップ言語. インデントとCSSセレクタを用いた記述を行うことによって,少ない行数で正しい(X)HTMLを記述することができる. また,Ruby on RailsにおけるView Templateとしての利用を主眼にしており,以下のような主義をうたっている.
*1:Don't repeat yourself
はじめに みなさん、こんにちは torihaziです。 今回は 2週間くらい前から Ruby on railsを学習しています。 ちゃんとしたフレームワークを学ぶのは これが初めてになりますがなんとかノリでやっていこうと思います! 今回はいつもとテイストを変えて 授業のノートのように 不明点や詰まったところを中心に 1章1章まとめていこうかと思います。 丸パクリだけは気をつけて頑張ります! それでは ltg はじめに 学習したこと 1章 Rails の前に Rubyを学ぶ 全てがオブジェクト メソッドとは null ではなく nil if キーワード引数 クラスとモジュール & ぼっち 2章 …
Ruby, SinatraでのWebアプリ開発が非常に楽なのに気付き、ChatGPTにいろいろ聞いています。Ruby on Railsは大規模で、複雑過ぎて、個人用途で何かを作る気には到底なれなかったのです。 今回は主に、ファイルの置き場所など。パスの読み替えが行われるのはviewsとpublicのみ、erbテンプレートはviewsに、画像やCSS, Javascriptなどはpublicフォルダに置くのが一般的なようです。 それぞれのフレームワークの歴史も後半で聞きましたが、Ruby on Rails(2004年)よりも、Sinatraの方が後発(2008年リリース)なのですね。 Ruby,…
このページの内容は以下のリポジトリに1日遅れで反映されます(記事執筆前に前日分をコミットしています)。 https://github.com/hkob/hkob_blog はじめに Rails Tips の 85 回目です。コメントの追加・編集削除は articles#show の中に閉じています。この部分はページ遷移が必要ないので、TurboFrame 化してしまいましょう。 Rails をはじめよう - Railsガイド articles/show の修正 実際にarticles/show.html.haml の Comments 以下を turbo_frame_tag の中に入れるだけで…
このページの内容は以下のリポジトリに1日遅れで反映されます(記事執筆前に前日分をコミットしています)。 https://github.com/hkob/hkob_blog はじめに Rails Tips の 84 回目です。ユーザ周りでいくつか不具合があったので、少し修正していきます。 Rails をはじめよう - Railsガイド articles/index の修正 まず、ログインしていない時に new_article_path に飛べないようにしていませんでした。user_signed_in? を確認し、ログインしている時だけリンクを表示するようにしました。 - content_for …
このページの内容は以下のリポジトリに1日遅れで反映されます(記事執筆前に前日分をコミットしています)。 https://github.com/hkob/hkob_blog はじめに Rails Tips の 83 回目です。昨日モデルにユーザを追加したので、request spec を修正し、コントローラが正しく動作するように変更します。 Rails をはじめよう - Railsガイド ビューの修正 article と同様にビューを修正していきます。まずは、articles/comments/_form.html.haml です。commenter を削り、user_id を hidden_f…
このページの内容は以下のリポジトリに1日遅れで反映されます(記事執筆前に前日分をコミットしています)。 https://github.com/hkob/hkob_blog はじめに Rails Tips の 81 回目です。昨日までに所有しないオブジェクトに対する対応が終わりました。実際にはこれらの所有しないオブジェクトに対しては、ビューでそのようなリンクが発生しないようにするべきです。今回は、所有しないオブジェクトに対する編集や削除のリンクを発生させないよにします。 Rails をはじめよう - Railsガイド index.html.haml まず、記事の執筆者を列に追加しています。また、…
このページの内容は以下のリポジトリに1日遅れで反映されます(記事執筆前に前日分をコミットしています)。 https://github.com/hkob/hkob_blog はじめに Rails Tips の 77 回目です。昨日記事にユーザが追加されたので、ログインのテストを記述し自分の記事が作成できるようにしていきます。 Rails をはじめよう - Railsガイド ログインのテスト まず、 Devise::Test::IntegrationHelpers を spec/rails_helper.rb の最後に追加します。その後、 login_user_fixture_as と user_…
このページの内容は以下のリポジトリに1日遅れで反映されます(記事執筆前に前日分をコミットしています)。 https://github.com/hkob/hkob_blog はじめに Rails Tips の 76 回目です。昨日はビューを作成したところまでで終わってしまったので、その続きを実装すると同時に記事に user を追加してみます。今日はとりあえず関連を作成するところまでを作成していきます。 Rails をはじめよう - Railsガイド view の修正 昨日の作業で画面表示用にユーザに name を追加していました。devise/registrations/new.html.ham…
このページの内容は以下のリポジトリに1日遅れで反映されます(記事執筆前に前日分をコミットしています)。 https://github.com/hkob/hkob_blog はじめに Rails Tips の 75 回目です。昨日は、OAuth2 の導入に失敗しました。一度、ローカルの認証で正しく動くようになってから、OAuth2 は再挑戦しようと思います。期待していた人すみません。 Rails をはじめよう - Railsガイド git revert 昨日の作業は事前にコミットしてしまったので、git revert で打ち消しコミットを作成しました。こういうこともたまにやつておかないと忘れるの…
このページの内容は以下のリポジトリに1日遅れで反映されます(記事執筆前に前日分をコミットしています)。 https://github.com/hkob/hkob_blog 注意: この日の作業は翌日全てなかったことにしています。順番に見ている人はこの日の作業をスキップしてください。 はじめに Rails Tips の 74 回目です。Rails ガイドでは BASIC認証をしていますが、せっかくなので Devise を使った認証を使ってみます。ただし、パスワード管理などはしたくないため、Google による OAuth 認証をしてみましょう。 Rails をはじめよう - Railsガイド 1…
このページの内容は以下のリポジトリに1日遅れで反映されます(記事執筆前に前日分をコミットしています)。 https://github.com/hkob/hkob_blog はじめに Rails Tips の 73 回目です。昨日値限定制約を追加して、status 属性のテストを記述しました。続きで archived? メソッドを追加する部分から concern による Visible module を導入していきましょう。 Rails をはじめよう - Railsガイド Visible module の実装 まず、status が archived だった時に true を返す archive…
このページの内容は以下のリポジトリに1日遅れで反映されます(記事執筆前に前日分をコミットしています)。 https://github.com/hkob/hkob_blog はじめに Rails Tips の 68 回目です。昨日の続きでコメント追加のテストと実装を追加します。 Rails をはじめよう - Railsガイド 8.4 コントローラを生成する(テストと実装) 昨日作成した submit ボタンを押した時の create アクションをテストします。 require "rails_helper" RSpec.describe Articles::CommentsController, …
このページの内容は以下のリポジトリに1日遅れで反映されます(記事執筆前に前日分をコミットしています)。 https://github.com/hkob/hkob_blog はじめに Rails Tips の 67 回目です。Rails ガイドでは、コメントのエラーに対する対応がされていません。これは index の中にフォームを書いているために、エラー対応ができないためでした。せっかくなのでその部分を対応するようにしたいと思います。 Rails をはじめよう - Railsガイド 9.2 パーシャルのフォームをレンダリングする Rails ガイドでは、show に直接 form を書き込んでい…
このページの内容は以下のリポジトリに1日遅れで反映されます(記事執筆前に前日分をコミットしています)。 https://github.com/hkob/hkob_blog はじめに Rails Tips の 66 回目です。昨日追加したルーティングに相当する articles/comments_controller.rb を追加します。 Rails をはじめよう - Railsガイド 8.4 コントローラを生成する 昨日説明したように Rails ガイドでは、フラットなコントローラを使っています。一方で、ここではネストしたコントローラを作成します。 $ bin/rails g controll…
このページの内容は以下のリポジトリに1日遅れで反映されます(記事執筆前に前日分をコミットしています)。 https://github.com/hkob/hkob_blog はじめに Rails Tips の 62 回目です。rails インストール時に bundle をスキップしたせいなのか、javascript などの設定までもがスキップされていたようです。 Rails をはじめよう - Railsガイド importmap のインストール まず、importmap がインストールされていないようなので、まず rails で importmap をインストールしました。すでに haml 化し…