Hallo an alle, die sich für meine Frage interessieren.
Ich freue mich zu sagen, dass ich die Lösung selbst gefunden habe. Aber ich habe dazu einige Anmerkungen. ))
Erstens, die Lösung lautet:
class ApplicationController < ActionController::Base
...
...
after_filter: restore_int_value, :only => [:create, :update]
...
...
private
...
...
def restore_int_value
response.body = response.body.gsub(/(numeric.*
`
Zweitens, die Anmerkungen lauten:
1) die Lösung funktioniert zusammen mit solchen Gems wie 'Formtastic' und 'Simple_form'. Diese Gems erstellen die Formulare in detailliertem HTML und ermöglichen uns die Verwendung von Regex. Wenn Sie solche Gems nicht verwenden, können Sie einfach alle Ihre Integer-Attribute z.B. in einem 'p'-Tag mit der Klasse 'numeric' einwickeln, wie folgt, und ich denke meine Lösung wird auch dafür funktionieren:
<%= text_field(:human, :age) %>
2) Ich glaube, meine Lösung wird nicht für Integer-Felder von verschachtelten Modellen in einem Formular mit mehreren Modellen funktionieren. (Ryan Bates beschreibt diese Art von Arbeit in "Handle Multiple Models in One Form" von "Advanced Rails Recipes"). Aber wenn Sie Ryan Bates' Artikel lesen, werden Sie sehen, dass er bereits JavaScript verwendet. Wenn Sie also mit verschachtelten Modellen in Formularen arbeiten, benötigen Sie JavaScript. Dann können Sie JavaScript auch für die Validierung verwenden (wie Kunday es sagte). Und Sie werden kein Problem haben. ;) Aber wenn Sie eine statische Anzahl von verschachtelten Modellen im Formular haben und kein JavaScript verwenden, dann denke ich, dass Sie ein neues spezielles Regex für Ihre Bedürfnisse erstellen können (ähnlich dem, was ich erstellt habe). Ich hoffe, Sie werden damit zurechtkommen. ;)
Ich hoffe, ich habe alle Szenarien abgedeckt, in denen Sie ein solches Problem haben könnten, und meine Lösung wird für jemanden nützlich sein, außer für mich. ;)
`