私は比較的新しいRailsですが、これは設定可能な動作ではないことに驚きました...少なくとも私がまだ見つけられていないものは何ですか?私は、フォームの99%がすべて空白から切り取られて利益を得ると思っていたでしょうstring
& text
フィールド?!?私は間違っていると思います...Rails 3空白のbefore_validationはすべてのフォームで空白
私は、Rails 3アプリでフォームフィールド(タイプ:文字列&:テキスト)からすべての空白を取り除くDRY方法を探しています。
ビューには、自動的に参照される(含まれていますか?)ビューアごとに利用可能なヘルパーがありますが、モデルにはそのようなことはありませんか?それとも彼らは?
だから現在私が最初がが含ま whitespace_helper(別名WhitespaceHelper)を、その後とを必要とする次の操作を行います。しかし、これはまだ私には非常に乾燥していないようですが、それは動作します...
ClassName.rb:
require 'whitespace_helper'
class ClassName < ActiveRecord::Base
include WhitespaceHelper
before_validation :strip_blanks
...
protected
def strip_blanks
self.attributeA.strip!
self.attributeB.strip!
...
end
のlib/whitespace_helper.rb:
module WhitespaceHelper
def strip_whitespace
self.attributes.each_pair do |key, value|
self[key] = value.strip if value.respond_to?('strip')
end
end
私は思いますよ(lib/
?)を指定して、パラメタ(または属性)のリストを取得し、特に指定された各属性の空白(.strip!
?)を削除する単一の(DRY)メソッド(クラス?)を探しています。
可能複製(http://stackoverflow.com/questions/4272028/is-there-a-新しいモデルインレールを作成する際には、ドライウェイトゥオールパルプを使用してください) –
ヘルパーに入れてモデルに組み込むことができます –
ありがとうございます最初に 'whitespace_helper'を必要とし、' WhitespaceHelper'を同じファイルにインクルードすると動作します。このDRYはどうですか?冗長なようだ...誰か説明することができますか? – Meltemi