2011-01-17 28 views
6

Tôi muốn tạo một ứng dụng trong Rails với hệ thống plugin. Người dùng tiềm năng sẽ có thể tải lên (hoặc cài đặt tốt hơn từ kho lưu trữ) một plugin và cài đặt nó cho phép ứng dụng của tôi làm điều gì đó hơn. Điều này nên được thực hiện KHÔNG có FTP/SSH/bất kỳ truy cập cấp thấp nào đến máy chủ.Rails 3: Tạo ứng dụng với hệ thống plugin nội bộ

Vì vậy, có bất kỳ đá quý hay hướng dẫn nào về cách thực hiện trong Rails 3?

+0

bản sao có thể có của [Xây dựng khung mở rộng cho ứng dụng Rails] (http://stackoverflow.com/questions/2570072/building-an-extension-framework-for-a-rails-app) – lulalala

Trả lời

0

Bạn đã xem http://edgeguides.rubyonrails.org/plugins.html chưa?

Dường như nó không tương thích 100% với Rails 3 nhưng nó có thể giúp bạn bắt đầu. Hầu hết các bài viết plugin tôi đã xem cover Rails 2.

+0

Điều này không chính xác những gì tôi có trong tâm trí, bởi vì nó hoạt động trên stack RoR hơn là ứng dụng của tôi. Nhưng đây là một số thay thế cho tôi. – Migol

0

Tôi thực sự vừa mới nghĩ về một khái niệm vững chắc cho bản thân mình. Bạn muốn xem xét $SAFE, các cơ chế tô màu ruby ​​và tìm hiểu tất cả các ý nghĩa bảo mật của eval() mã ruby, nếu bạn định cho phép người dùng viết các plugin của họ bằng ruby.

Nếu bạn tin tưởng người dùng của mình đến mức tự tin cho phép họ thực hiện việc này, tức là.

Ngoài ra còn có nhiều tài nguyên (đá quý, bài viết, làm googling) trên sandboxing in Ruby - bạn nên tự đánh giá mức độ thực tế và/hoặc an toàn của chúng.

Nếu bạn không tin tưởng người dùng, bạn nên xem xét writing your own DSL in ruby hoặc triển khai các chức năng thể hiện khác mà không cần thực hiện trực tiếp mã do người dùng gửi.

Làm điều gì đó như thế này không phải là nhiệm vụ dễ dàng.

+0

Tôi đã suy nghĩ nhiều hơn về một hệ thống giống như Wordpress khi người dùng cài đặt phần mềm của tôi trên máy chủ của riêng mình, anh ta có thể tải lên bất cứ thứ gì mình muốn, nhưng khi trên máy chủ của tôi, anh ta có thể chọn từ các plugin đã được tải lên và phê duyệt trước. – Migol

+3

Sau đó, bạn có thể muốn xem Rails Plugins, như được đề xuất bên dưới. Chỉ cần cho phép người dùng viết một Plugin Rails có thể sử dụng chức năng mà ứng dụng của bạn tiếp xúc để móc vào nó. [Redmine] (http://redmine.org) thực hiện như thế này, xem [Redmine Plugins Page] của họ (http://www.redmine.org/projects/redmine/wiki/Plugins). –

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