2012-11-15 20 views
16

Tôi đang gặp sự cố hiển thị thông báo lỗi trong quản trị viên đang hoạt động.Hiển thị thông báo lỗi trong quản trị viên hiện hoạt vì có nhiều bảng quan hệ

Tôi nhận được tất cả thông báo lỗi được hiển thị cùng với các trường trong biểu mẫu. Nhưng trong đoạn code dưới đây, tôi cần ít nhất một kỹ năng và tối đa 5 kỹ năng được thêm vào. Khác cần phải gửi thông báo lỗi.

Tôi đã thêm một xác nhận trong mô hình như:

xác nhận: kỹ năng,: chiều dài => {: tối thiểu => 1,: tối đa => 5, : message => "nên có ít nhất 1 và ít hơn 5 "}

Điều này xác thực hoàn hảo, nhưng không có thông báo lỗi nào được hiển thị.

Bất kỳ ai cũng có thể giúp tôi hiển thị thông báo lỗi.

Tiếp theo là các mã:

form :html => { :enctype => "multipart/form-data" } do |f| 

    f.inputs "User", :multipart => true do 

     f.input :name 
     f.input :email, :as => :email 
     f.input :profile_name 
     f.input :date_of_birth 
     f.input :gender, :as => :select, :collection => Gender::GENDERS 
     end 
     f.inputs "Skills* (minimum 1 & maximum 5)" do 
     f.has_many :skills do |p| 
      if !p.object.nil? 
      # show the destroy checkbox only if it is an existing appointment 
      # else, there's already dynamic JS to add/remove new appointments 
      p.input :_destroy, :as => :boolean, :label => "Destroy?", 
        :hint => "Check this checkbox, if you want to delete this field." 
      end 
      p.input :description 
      p.input :title 
     end 
     end 
    end 
    end 

Trả lời

32

activeadmin 0.5.1 có sẵn trên github. nó chứa dòng tiếp theo trong changelog

"Thêm hỗ trợ cho các lỗi ngữ nghĩa # 905 bởi @robdiciuccio"

đây là kéo theo yêu cầu với tính năng này https://github.com/gregbell/active_admin/pull/905

dụ

form do |f| 
    f.semantic_errors *f.object.errors.keys 
    f.inputs 
    f.inputs "Locations" do 
    f.has_many :locations do |loc| 
     loc.input :address 
     loc.input :_destroy, :as => :boolean, :label => "Delete" 
    end 
    end 
    f.buttons 
end 

để sử dụng nó thêm vào Gemfile

gem 'activeadmin', :git => "git://github.com/gregbell/active_admin.git", :tag => "v0.5.1" 
+0

Điều này đã giúp .. Cảm ơn @Fivell –

+0

Tùy chỉnh 'semantic_errors' để tùy chỉnh thêm theo các mô-đun sau Formtastic :: Helpers :: ErrorsHelper Làm việc theo yêu cầu ngay bây giờ. Cảm ơn @Fivell –

0

Đối với đi qua xác nhận thử này

validates_length_of :skills, 
    :within => 1..5, 
    :too_short => 'too short message', 
    :too_long => 'too long message' 
+0

Hey Dipak, Cảm ơn. Điều này hoạt động tốt như xa như xác nhận có liên quan. Chỉ muốn biết, nếu chúng ta có thể hiển thị điều này trong giao diện người dùng (biểu mẫu), với luồng activeadmin mặc định. –

Các vấn đề liên quan