我正在尝试使用rails保存一个表单,它是一个简单的表单,每次我尝试发送一个带空格的名称(如john smith)时,我实际上并没有收到错误,它返回成功,但不保存任何东西,当我尝试 johnsmith 然后它的工作原理。
我检查了我的模型,我有这个
validates :first_name, :allow_blank => true, :format => { :with => /\A[a-zA-Z]+\z/, :message => "Only letters allowed" }
仅验证字母,但接受空格,当我尝试时,仍然没有成功。
在我的控制器上,我有这样的东西。
name = params[:name].to_s
然后
@user.atributes = { :weight => weight, :name => name ... and so on
最后我只做了一个@user.save
知道如何避免这个问题吗?我确实想接受名称上的空格,但不会遇到安全问题。
谢谢
在我的控制台中发布的结果
Started POST "/users/custom" for 192.168.1.21 at 2013-05-21 17:51:06 -0600
Processing by UsersController#custom as JS
Parameters: {"name"=>" new user", "lastname"=>" my last name", "mail"=>"newuser@gmail.com", "sex"=>"0" ... n so on}
User Load (0.1ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 6 LIMIT 1
(0.1ms) BEGIN
(0.3ms) UPDATE `users` SET `first_name` = ' new user', `ssn` = 0, `updated_at` = '2013-05-21 23:51:06' WHERE `users`.`id` = 6
(1.2ms) COMMIT
Rendered users/custom.html.erb within layouts/application (0.1ms)
Completed 200 OK in 16ms (Views: 11.0ms | ActiveRecord: 1.7ms)