2013-07-11 2 views
0

엔진을 Rails 4로 업그레이드했는데 선택적인 공유 도우미 구성에 문제가 있습니다. 도우미 Assessable::DisplayHelper에는 html을 렌더링하는 두 가지 메소드가 있습니다.rails 4 engine optional shared helper

내가 선택을 의미하는 것은 원하는

  • 기본 설정은 도우미는 엔진 외부 사용을위한 main.app에게 제공해야한다는 것입니다,하지만 세부 사항은 숨겨져 있습니다. (html은 엔진에서 생성 된 해시에서 생성되었지만 기본 앱에서 사용됩니다)
  • 선택 사항 생성기는 helpers/assessable/display_helper에 도우미를 설치하여 원하는 경우 수정할 수 있습니다.

엔진에서 도우미를 오버 라이딩하는 옵션 발전기가 정상적으로 작동하지만 기본 모드를 작동시키는 방법을 찾을 수 없습니다.

레일 4 릴리스 노트에서 도우미로드 순서에 대한 참고 사항을 읽었지만 변경해야 할 항목이 있는지 확실하지 않습니다. 모든 것에 대해 나는 스텁 도우미에서 Assessable::DisplayHelper을 포함하려고 노력하는 (하지 선호) 응용 프로그램 컨트롤러

  • helper Assessable::DisplayHelper 추가

    • 을 시도했습니다. 어두운

    에서

  • 다른 몇 찌르기는 생산과 오류 :

    RuntimeError: Circular dependency detected while autoloading constant Assessable::DisplayHelper 
    ... 
    from /Users/me/.rvm/gems/[email protected]/gems/actionpack-4.0.0/lib/action_controller/railties/helpers.rb:17:in `inherited' 
    from /Users/me/work/pm/app/controllers/application_controller.rb:1:in `<top (required)>' 
    

    I 클래스와 도우미의 디스플레이 기능을하는 사이에 앞뒤로 갔다. 내가 메인 애플 리케이션에 설치된 클래스를 얻는 데 문제가 있었기 때문에 도우미에게 다시 전환했다. 목표는`{class.} display_xxx (hash, post)가 디폴트 또는 옵션 설정과 함께 작동하도록하는 것입니다.

    두 가지 방법에 대한 제안 사항이 도움이 될 것입니다.

  • +0

    필자의 경우이 문제는 한 가지 문제로 해결됩니다. u는 그것을 조금 시도해 주시겠습니까? development.rb에 추가하십시오 : config.middleware.delete Rack :: Lock http://stackoverflow.com/a/18857992/751716 – Rubyrider

    답변

    0

    나는 포기했습니다. 최소한 레일스 4를보고 있다는 것을 알아야합니다.

    필자는 하나의 오래된 제안을 사용하고 응용 프로그램 도우미 디렉토리에 포함 된 도우미 (이름이 공백 인 디렉토리)를 생성했습니다. 내가하고 싶지는 않지만 나중에 언젠가는 알아낼거야. install : helper 메소드는 도우미를 전체 코드가있는 include로 대체합니다.