表单参数是正确的,但SQL错过了一个值

时间:2011-11-13 11:36:44

标签: sql ruby-on-rails-3 forms insert

我有一个表格,看起来像这样(对不起哈姆和德国部分)

  = form_for @mentality, :url => { :controller => "mentalities", :action => "create" }, :html => { :class => "mentality_create", :method => :post } do |f|
    = render 'shared/error_messages_einstellung', :object => f.object
      .left
        %h4
          Welche Einstellung möchten Sie hinzufügen?
        = f.text_field :title, :placeholder => "Name der Einstellung"
        %br
        = f.submit "Eintragen"

一个看起来像这样的模型:

# encoding: utf-8 
class Mentality < ActiveRecord::Base
  attr_accessible :title

  belongs_to :user

  validates :user_id,     :presence => true
  validates :title,       :presence => true

  default_scope :order => 'mentalities.created_at DESC'

  self.per_page = 20

end

所以,我只想写一个字段,名为title。如果我处理创建操作,则日志显示:

Parameters: {"utf8"=>"✓", "authenticity_token"=>"ULjT8cxQ77KTh7+0rX6pzFpMaehBuUxGAA3AGh/Sbg8=", "mentality"=>{"title"=>"Test"}, "commit"=>"Eintragen"}

但它创建的SQL语句缺少标题:

INSERT INTO "mentalities" ("created_at", "title", "updated_at", "user_id") VALUES ('2011-11-13 11:26:48.078652', NULL, '2011-11-13 11:26:48.078652', 1)

我有一个simliar模型的控制器和视图,名为'categories',工作得非常好。

那么,有人可以解释为什么标题没有插入我的数据库吗?我真的不明白为什么不存在。

1 个答案:

答案 0 :(得分:0)

不知道它是什么,但我刚删除了整个MVC并再次添加它。看起来仍然一样,但现在可行。