반응형
Rails 뷰 헬퍼를 gem으로 추출하려면 어떻게하나요?
정기적으로 사용하는 rails view 헬퍼 세트가 있으며, Gemfile에 줄을 추가하고 헬퍼를 내 뷰에서 액세스 할 수 있도록 gem으로 패키징하고 싶습니다.
Bundler와 Jeweler를 사용하기 전에 gem을 만들었지 만 Rails 뷰 헬퍼를 gem에 구성하고 레일에 포함시키는 방법에 대해 잘 모르겠습니다.
Rails 3에서이 작업을 수행하는 방법에 대한 최신 튜토리얼 링크 나 포인터를 보내 주시면 감사하겠습니다.
감사
명확히하기 위해 : 질문은 "보석을 만드는 방법"에 관한 것이 아닙니다. "Gem에 뷰 헬퍼를 패키징하여 Rails에서 사용할 수 있도록하는 방법"
편집 2 : 저도 아래의 포스터에 동의합니다. 레일스 엔진은 이런 종류의 (희망적으로 간단하게) 요구 사항에 비해 너무 과잉입니다.
제 생각에는 완전한 엔진 은이 작업에 과잉입니다. 대신 ActionView :: Base가 초기화 될 때 도우미를 포함 하는 Railtie 를 만들 수 있습니다.
# lib/my_gem/view_helpers.rb
module MyGem
module ViewHelpers
def pre(text)
content_tag :pre, text
end
def another_helper
# super secret stuff
end
end
end
# lib/my_gem/railtie.rb
require 'my_gem/view_helpers'
module MyGem
class Railtie < Rails::Railtie
initializer "my_gem.view_helpers" do
ActionView::Base.send :include, ViewHelpers
end
end
end
# lib/my_gem.rb
require 'my_gem/railtie' if defined?(Rails)
또한 Rails3 버전에만 도우미를 포함하려면 다음을 사용할 수 있습니다.
# lib/my_gem.rb
require 'my_gem/railtie' if defined?(Rails::Railtie)
당신이 아마 찾고있는 것은 엔진 이다. 엔진은 레일 응용 프로그램 조각을 포함하는 보석입니다 (사실 레일 응용 프로그램 자체가 엔진입니다).
참조 URL : https://stackoverflow.com/questions/5791211/how-do-i-extract-rails-view-helpers-into-a-gem
반응형
'programing' 카테고리의 다른 글
내부 HTML 태그 (0) | 2021.01.14 |
---|---|
OSGi는 무엇이며 그 사용의 몇 가지 예는 무엇입니까? (0) | 2021.01.14 |
Xcode가 키 체인에서이 프로필에 대한 유효한 개인 인증서 / 유효한 키 쌍을 찾을 수 없습니다. (0) | 2021.01.14 |
현재 window.postMessage 호출을 지원하는 브라우저는 무엇입니까? (0) | 2021.01.14 |
왜 함수보다 펑터를 사용합니까? (0) | 2021.01.14 |