2012-03-05 33 views
24

Rails có một helper mà chuyển đổi khoảng cách của thời gian nói cách sử dụng distance_of_time_in_wordsLàm thế nào tôi có thể sử dụng đường ray helper "distance_of_time_in_words" trong ruby ​​cũ đồng bằng (không đường ray)

gì tôi cần phải bao gồm nếu tôi chỉ sử dụng ruby tại dấu nhắc irb để có được chức năng này?

Tôi đã thử require 'action_view' nhưng không hiệu quả.

Tôi cũng đã thử require 'active_support/core_ext' nhưng điều đó cũng không giúp ích gì.

Trả lời

46

này nên làm việc:

require 'action_view'

include ActionView::Helpers::DateHelper

Cả hai cần phải được thực hiện cho một vài lý do. Trước tiên, bạn cần yêu cầu thư viện, để các mô đun và phương thức của nó có sẵn để được gọi. Đây là lý do tại sao bạn cần phải làm require 'action_view'.

Thứ hai, kể từ distance_of_time_in_words là mô-đun, không độc lập, mô-đun cần được đưa vào lớp học. Sau đó, bạn có thể truy cập nó bằng cách gọi distance_of_time_in_words trên một phiên bản của lớp đó.

Khi bạn ở trong bảng điều khiển, bạn đã có một phiên bản của lớp Object đang chạy. Bạn có thể xác minh điều này bằng cách gọi self trong bảng điều khiển irb. Khi bạn gọi include ActionView::Helpers::DateHelper, bạn sẽ bao gồm các phương thức đó cho bất kỳ trường hợp nào của lớp Object. Vì đó là trình thu thập ngầm của bàn điều khiển irb, bạn có thể chỉ cần lưu distance_of_time_in_words ngay trên bảng điều khiển và nhận được những gì bạn muốn!

Hy vọng điều đó sẽ hữu ích.

Joe

+0

Cảm ơn bạn! Hoạt động hoàn hảo: D – cgenco

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