Tôi mới đến đường ray và gần đây tôi đã phát hiện ra rails_admin.Làm thế nào để kích hoạt CKEditor trên một trường trong rails_admin?
Tôi đã thêm CKEditor bằng lệnh từ tài liệu rails_admin, nhưng tôi không biết cách bật nó trên một trường.
Tôi mới đến đường ray và gần đây tôi đã phát hiện ra rails_admin.Làm thế nào để kích hoạt CKEditor trên một trường trong rails_admin?
Tôi đã thêm CKEditor bằng lệnh từ tài liệu rails_admin, nhưng tôi không biết cách bật nó trên một trường.
Chỉ cần tìm hiểu điều này ngay hôm nay. Đây là cách tôi làm cho nó hoạt động. Trong config/initializers/rails_admin.rb của tôi, tôi đã thiết lập như sau.
config.model MyModel do
edit do
field :description, :text do
ckeditor do
true
end
end
end
end
Thay đổi 'MyModel' bằng tên của mô hình của bạn và ': description' với tên của trường bạn muốn sử dụng ckeditor. Cũng trong khối chỉnh sửa, hãy đảm bảo rằng bạn có tất cả cấu hình trường khác của mình.
Cập nhật
Cú pháp trên đã được tán thành trong phiên bản mới của rails_admin.
config.model MyModel do
edit do
configure :name, :ck_editor
end
end
là cú pháp mới để thực hiện.
Bất kỳ cách nào để tự động bao gồm tất cả các trường khác? – Kris
Điều này cũng phù hợp với tôi. nhưng khi chạy db rake: thả db: tạo db: di chuyển db: seed, rails ngừng di chuyển vì không thể tìm thấy bảng 'my_models' ... Vì vậy, tôi nhận xét điều này, chạy các tác vụ rake, và sau đó bỏ ghi chú. Bất kỳ ý tưởng của một workaround? – jdkealy
jdkealy khối config.model của bạn trông như thế nào? – tomcocca
@Kris, @tomcocca
Tôi đã làm đoạn mã trên như tomcocca cho thấy, nhưng tôi có một vấn đề lớn. Vấn đề là khi tôi chạy rake db: thả db: tạo db: di chuyển, đường ray sẽ ném lỗi vì bảng chưa được khởi tạo.
Vấn đề thứ hai là khi bạn xác định một mô hình như thế này, bạn phải xác định từng trường sau đó. vì vậy trong trường hợp này, chỉ "mô tả" hiển thị, trừ khi bạn thêm các trường khác.
Liên quan đến vấn đề đầu tiên, tác giả của đá quý này trả lời cho vấn đề của tôi và viết:
Ruby on rails, run a method on server start 2.3 Có lẽ điều này sẽ được đưa vào RailsAdmin? Bạn có thể thực hiện yêu cầu kéo không?
lại: yêu cầu kéo (làm việc trên nó)
nhưng giải pháp này làm việc cho cả hai vấn đề của tôi:
config.models do
fields_of_type :text do
ckeditor true
end
end
Bằng cách này ckeditor được nạp trên tất cả các textareas tôi, cộng với tất cả các mô hình của nhau lĩnh vực, cộng với tôi không nhận được vấn đề với rake db: thả db: tạo ...
để đảm bảo tất cả các trường hiển thị thêm video này vào rails_admin.rb của bạn:
config.model Car do
include_all_fields
field :content, :text do
ckeditor true
end
end
Trân
Robbie
ai Ok đọc này sau năm 2015, các giải pháp trên là phản và sẽ tạo ra một lỗi thời gian chạy.Tôi đã thử nó và nhận được lỗi sau:
The 'field(:foo){ ckeditor true }' style DSL is deprecated. Please use 'field :foo, :ck_editor' instead.
Như vậy, với cú pháp mới đó là như thế này:
config.model MyModel do
edit do
field :description, :ck_editor, :text do
label 'MyLabel'
end
end
end
Ngẫu nhiên, điều này chỉ hoạt động tốt nếu bạn bỏ qua :text
từ đối số. Thử nghiệm giải pháp này với ray-4.0.2, rack-pjax-0.8.0 và ckeditor-4.1.4. Chúc may mắn!
FYI bây giờ bạn có thể thêm một vài plugin chỉnh sửa văn bản khác vào Rails Admin textfields. – ocodo