मैं रेल के लिए अपेक्षाकृत नया हूं और थोड़ा हैरान है कि यह कॉन्फ़िगर करने योग्य व्यवहार नहीं है ... कम से कम कोई भी मुझे अभी तक नहीं ढूंढ पाया है?! मैंने सोचा होगा कि 99% रूपों को व्हाइटस्पेस से सभी string
& text
फ़ील्ड से छंटनी से फायदा होगा?! मान लीजिए कि मैं गलत हूं ...रेल 3 स्ट्रिप व्हाइटस्पेस सभी रूपों पर पहले_विधीकरण
भले ही, मैं एक रेल 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/
?) डालने के लिए एक एकल (डीआरवाई) विधि (कक्षा?) की तलाश है जो पैराम (या विशेषताओं) की एक सूची ले लेगा और विशेष रूप से नामित प्रत्येक विशेषता w/आउट से व्हाइटस्पेस (.strip!
?) को हटा देगा।
संभव डुप्लिकेट (http://stackoverflow.com/questions/4272028/is-there-a- ड्राई-वे-टू-यूज-स्ट्रिप-ऑन-ऑल-पैराम्स-जब-बिल्डिंग-ए-न्यू-मॉडल-इन-रेल) –
आप इसे एक सहायक में डाल सकते हैं और इसे अपने मॉडल –
में शामिल कर सकते हैं धन्यवाद लेकिन यह केवल ऐसा लगता है काम करने के लिए अगर मुझे पहले 'whitespace_helper' की आवश्यकता है और फिर उसी फ़ाइल में' WhitespaceHelper' शामिल करें '। यह ड्रवाई कैसा है? अनावश्यक लगता है ... क्या कोई समझा सकता है? – Meltemi