我正在尝试保存一些信息,实际上是在编辑一个现有信息,然后我创建了一个这样的表单
%form{ :action => "/users/custom", :method => "post", :controller => "/users", data: {remote: true}}
%input{:type => "text", :name => "name", :class => "text ", :value => " #{@current_user.first_name} #{@current_user.last_name}" }
%input{:type => "text", :name => "age", :class => "text ", :value => " #{@current_user.age}" }
我还有其他人(重量和地址)......问题是,只有一个与这些字段完全相同的方式用于“邮件”的问题被保留在数据库中,但其他字段,例如年龄,它们被保留为0
在我的控制器上,我有这样的东西
@user = User.find(session[:current_user])
@user.email = params[:mail]
@user.weight = params[:weight].to_i
... and so on...
if @user.save
flash[:notice] = 'The User is successfully saved!'
end
有任何解决这个问题的方法吗?或者知道什么是错的?
谢谢
编辑
Started POST "/users/custom" for 192.168.1.21 at 2013-05-08 15:50:04 -0600
Processing by UsersController#custom as JS
Parameters: {"name"=>"name", "mail"=>"NEW MAIL", "sex"=>"1", "weight"=>"180" ... }
User Load (0.1ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 1 LIMIT 1
(0.1ms) BEGIN
(0.3ms) UPDATE `users` SET `email` = 'NEW MAIL', `sex` = 0, `ssn` = 0, `updated_at` = '2013-05-08 21:50:04' WHERE `users`.`id` = 1
(1.2ms) COMMIT
编辑名称不起作用,唯一起作用的是电子邮件。
当我想用脚手架的默认表单编辑它们时,我看不到字段权重等等,只有少数,包括名称(从这里我也无法编辑)
我的模型有一些限制。
validates :first_name, :format => { :with => /\A[a-zA-Z]+\z/, :message => "Only letters allowed" }, :allow_blank => true
问题是即使我删除它......继续插入0......任何想法?