2013-07-11 89 views
0

我將引擎升級到了Rails 4,並且在嘗試配置可選的共享助手時遇到問題。幫助程序Assessable::DisplayHelper有兩個方法只是呈現html。rails 4引擎可選共享助手

我的意思是可選

  • 所需的默認配置是,助手應提供給main.app發動機以外使用,但具體細節是隱藏的。 (html由引擎生成但由主應用程序使用的哈希生成)
  • 可選的生成器會將助手安裝在幫助程序/ assessal/display_helper中,app應用程序可以根據需要修改它。

可選的發電機工作正常,超越引擎中的助手,但我想不出一種方法來使默認模式工作。

我已閱讀關於助手加載順序在軌道4發行說明中的​​說明,但不知道我需要更改。一切我已經試過

  • 添加helper Assessable::DisplayHelper到應用控制器(不推薦)
  • 嘗試包括在存根幫手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)>' 

我來回走了有一類和一個輔助顯示功能之間。我切換回助手,因爲我無法在主應用程序中安裝該類。目標是擁有`{class。} display_xxx(哈希,後)工作與默認或可選配置。

任何一種方法的建議都會有幫助。

+0

在我的情況下,一個問題解決了這種類型的問題。你可以試試嗎? 請將此添加到您的開發中.rb: config.middleware.delete Rack :: Lock http://stackoverflow.com/a/18857992/751716 – Rubyrider

回答

0

我放棄了。至少現在知道一個人在看rails4。

我最終使用了一箇舊的建議,並在應用程序助手目錄中生成了一個包含的助手 - 與名稱空間的目錄相比。不想我想做,但也許以後我會弄清楚。 install:helper方法只是將包含完整代碼的helper替換爲helper。