Ruby on Railsのビューの書き方に関するいくつかのアドバイス
2022-02-03 15:16:54
ビューから直接モデル層を呼び出さない。
複雑な書式をビューで作成せず、ビューヘルパー内のメソッドかモデルに出力する。
部分テンプレートやレイアウトを使用して、重複するコードを削減します。
通常のバリデーターにクライアントサイドのバリデーションを追加する。そのための手順は
ClientSideValidations::Middleware::Base からカスタムバリデータを宣言する。
module ClientSideValidations::Middleware
class Email < Base
def response
if request.params[:email] =~ /^([^@\s]+)@((? :[-a-z0-9]+\.) +[a-z]{2,})$/i
self.status = 200
else
self.status = 404
end
super
end
end
end
新しいファイル public/javascripts/rails.validations.custom.js.coffee を作成し、その参照を application.js.coffee ファイルに追加します。
# app/assets/javascripts/application.js.coffee
#= require rails.validations.custom
クライアントサイドバリデーターを追加します。
#public/javascripts/rails.validations.custom.js.coffee
clientSideValidations.validators.remote['email'] = (element, options) ->
if $.ajax({
url: '/validators/email.json',
data: { email: element.val() },
async: false
}).status == 404
return options.message || 'invalid e-mail format'
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
MongoDBに接続するためのRuby on Railsフレームワークアプリケーション チュートリアル
-
Rubyのシングルトンメソッドとシングルトンクラス
-
Windowsでrubyとrailsをインストールする際に発生する問題点まとめ
-
Rubyの文法と言語機能のまとめ
-
RubyのブロックオブジェクトProcの詳細解説
-
RubyおよびRuby on RailsでJSON形式のデータをパースするためのチュートリアルの例
-
Rubyのデザインパターン。プログラミングにおけるアピアランスパターンの応用
-
Rubyの4つの比較関数(equal?, eql?, ==, ===)について解説します。
-
RubyGnome2 ライブラリを用いた GTK 環境での Ruby GUI プログラミングの基本的な考え方
-
Rubyのバージョンを管理するためのrbenvの使い方