0

我正在尝试保存一些信息,实际上是在编辑一个现有信息,然后我创建了一个这样的表单

%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......任何想法?

4

1 回答 1

0

您可以通过执行以下操作放置调试断点:binding.pry在控制器操作中的任何位置。请务必将Pry gem 添加到您的Gemfilelike sogem 'pry'中。

然后执行您的代码,断点应该在您的服务器窗口中命中,以便您调试问题。

于 2013-05-08T19:56:21.110 回答