我在 Ruby 1.9.2(带有 rvm)上使用更新的 pre Ruby on Rails,并制作了一个新的测试应用程序
$ rails generate scaffold Project name:string
和
class Project < ActiveRecord::Base
validates_presence_of :name
end
我改变
<%= form_for @project do |f| %>
至
<%= form_for @project, :remote => true do |f| %>
我现在仍然可以(在控制器中没有任何更改)向项目添加新项目。如果我尝试在名称字段中添加空白,它将不会添加任何内容(validates_presence_of :name 会停止此操作),但我没有收到任何验证错误消息。我在从 3.0 转换的应用程序上尝试了相同的结果,我正在处理相同的结果。在这里我有:
class KursController < ApplicationController
# GET /kurs
# GET /kurs.xml
respond_to :js, :html
和:
def update
@kur = Kur.find(params[:id])
@kur.update_attributes(params[:kur])
flash[:notice] = "Lagret" if @kur.save
respond_with( @kur, :layout => !request.xhr? )
end
在 3.1 中,我没有收到验证错误消息。这是因为 Ruby on Rails 3.1 中的一个错误还是我应该做一些不同的事情?