タグ: rails

Rails アジャイル本 第11章 タスクF:ユーザ管理(Initial Login)

ユーザが1人も登録されていない場合に、フリーアクセスできるようにする。 アクセス制限のフィルタリング(authorize)時にユーザ数を確認して処理する。 ユーザ数が 0 ならばメッセージを表示させ、サイドバーに管理機能へのリンクを表示させる。 app/controllers/application_controller.rb def authorize if User.count.zero? f…続きを読む

Rails アジャイル本 第11章 タスクF:ユーザ管理(checkout アクション)

リクエストの HTTP メソッドによって checkout メソッドの振舞いを分けさせる。 GET メソッドの場合はカートの中身の状態(空か否か)によってチェックアウト・フォームの表示を制御する。 POST メソッドの場合は @order を保存する。 app/controllers/store_controller.rb def checkout if request.post? # save …続きを読む

Rails アジャイル本 第11章 タスクF:ユーザ管理(ユーザ更新機能)

『Rails によるアジャイルWebアプリケーション開発 第11章 タスクF:ユーザ管理』の自由課題のユーザ更新機能の作り替え問題。 app/views/users/new.html.erb テンプレートを app/views/users/edit.html.erb にコピーして submit ボタンのラベル部分のみ修正する。 ただ、このままだと password_non_blank のバリデーシ…続きを読む

Ruby on Rails カート内の項目の数量を減らす

Rails によるアジャイルWebアプリケーション開発 第3版 の『第9章 タスク D : Ajax の追加』の自由課題『カート内の項目の数量を減らす方法』について。 まず、Ajax を使わずにカートの商品を減らすボタンを実装する。 これは、以下の4つの手順で行なっていく。 ビューのカートの商品部分に削除ボタンを追加する コントローラに delete_from_cart メソッドを追加する カート…続きを読む

Ruby on Rails Ajax でカート内の新規項目に視覚効果を付ける

Rails によるアジャイルWebアプリケーション開発 第3版 の『第9章 タスク D : Ajax の追加』の自由課題『カート内の新しい項目に、別の視覚効果を付ける方法』について。 最初にアイテムが追加される際にカートが blind_down で表示される効果と、既に表示されている項目の数量が増加する際の highlight 効果はそのまま残して、カートにアイテムが追加される場合(数量の増加では…続きを読む

Ruby on Rails Ajax でカートを空にする時に blind_up 効果を付ける

Rails によるアジャイルWebアプリケーション開発 第3版 の『第9章 タスク D : Ajax の追加』の自由課題『カートを空にする際に blind_up を使う方法』について。 フォームボタンを Ajax に対応させる app/views/store/_cart.html.erb ファイルの button_to で作られるフォームボタンを form_remote_tag で作られる Aja…続きを読む

Ruby on Rails パーシャル(partial)の使い方

render メソッドに :partial パラメータを渡すことでパーシャル(部分テンプレート)をレンダリングする。 :partial パラメータ :partial パラメータの値はパーシャルの名前を指定する。 パーシャルのファイル名はパーシャルの名前の先頭にアンダースコアを付加したものとなる。 cart_item : パーシャル名 _cart_item.html.erb : パーシャル・ファイル…続きを読む