質問

私は、ビューのヘルパーを提供して宝石を書いています。 HTML私はヘルパーを用いて挿入したい私はむしろ_partial.html.erbファイルに書き込むだろうと複雑で十分です。どのように私は、アプリケーションのLOAD_PATHに含ま宝石のビューのパスを取得するのですか?

注:私はこのような何かをしている見つけた唯一の逸品工夫があります。ビューが見つからない場合は、Railsのは次のようになります(私のマシン上で)ロードパスを出力します:

Missing partial sortable_nested_set/tree with {:handlers=>[:erb, :rjs, :builder, :rhtml, :rxml], :formats=>[:html], :locale=>[:en, :en]} in view paths "/home/jason/VirtualRestaurant3/app/views", "/home/jason/.rvm/gems/ruby-1.9.2-preview3/gems/devise-1.1.rc0/app/views"

工夫がそれをするのかどう?

私の宝石: http://github.com/jrmurad/SortableNestedSetする 工夫宝石:+ ます。http://+github.com/plataformatec/deviseする

役に立ちましたか?

解決

あなたのプラグインのベースディレクトリに「アプリ」ディレクトリを置く場合は、Railsはデフォルトで表示パスにアプリ/ビューを追加します。

.
├── app
│   └── views
│       └── plugin_name
│           └── _my_partial.html.erb

次に、あなたとあなたのプラグインのヘルパーメソッドから部分をレンダリングすることができます

render :partial => "plugin_name/my_partial"
Railsは、プラグインのテスト環境では、デフォルトでビューが利用できるようにしないこと

注。そこにそれらを含めるテスト/ test_helper.rbに以下を追加します:

ActionController::Base.prepend_view_path File.dirname(__FILE__) + "/../app/views"
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top