我使用更新前Ruby on Rails的Ruby的1.9.2(RVM帶),並取得與的Rails 3.1 Ajax表單不顯示驗證
$ 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中的錯誤還是我應該做的不同?
這dosn't修復它。我以正常形式收到錯誤消息。它是不顯示錯誤的Ajax表單(「:remote => true」)。也許我必須捕捉js.erb文件中的錯誤消息? – 2011-05-22 07:43:40