Tôi đã làm việc trên plugin Rails 3 đầu tiên của mình, để đóng gói một hàm trợ giúp đơn giản mà tôi thích có trong số ApplicationHelper
của tất cả các ứng dụng của tôi. Bạn có thể xem toàn bộ mã số on Github.Tạo một trình trợ giúp văn bản Rails 3 đơn giản Gem
Đây là nỗ lực đầu tiên của tôi:
## lib/semantic_id.rb ##
require 'semantic_id/version'
module ::ActionView::Helpers::TextHelper
def semantic_id
string = String.new
case
when controller.action_name =~ /new|edit/
string += controller.action_name + "_"
when controller.action_name =~ /index|create/
string += controller.controller_name
else
string += controller.controller_name.singularize
end
string += "_view"
end
end
Bây giờ, công trình này, nhưng như tôi hiểu nó đây không phải là 'Rails 3 Way' mở rộng ActiveSupport hoặc bất kỳ thành phần Rails khác. Tôi đã không thể tìm thấy nhiều tài liệu về cách bạn "được cho là" để xây dựng một đá quý Rails 3. Tôi đã thử theo Hướng dẫn Rails, nhưng phương pháp được đưa ra ở đó để thêm người trợ giúp đã không làm việc, hoặc người nào khác tôi đã bỏ lỡ một cái gì đó.
Câu hỏi của tôi là: được cung cấp mã ở trên làm ví dụ về chức năng mà tôi đang tìm kiếm, bạn sẽ biến điều này thành Rails 3 plugin Gem như thế nào?
Cảm ơn!
bạn nên thử sử dụng viên ngọc quý trong việc tạo đá quý :) – corroded
Về câu trả lời được đưa ra, tôi bị rách vì tôi dựa vào cả hai để giải quyết vấn đề này. Mã của Alex khiến tôi gần gũi, nhưng tôi vẫn đang gặp khó khăn trong việc tìm ra cách tải nó trong ứng dụng cho đến khi Noli đăng các liên kết của mình lên các ví dụ tốt hơn về cách đặt một chiếc ray với nhau. Vì vậy, cuối cùng, câu trả lời của Alex khiến tôi bắt đầu trong khi Noli giúp tôi kết thúc. Tôi phải đi với Noli trong trường hợp này, vì các liên kết của anh ấy đã tạo nên sự khác biệt ở cuối. Cảm ơn cả hai vì câu trả lời chu đáo của bạn! – Andrew