2011-02-09 7 views
1

私は、アプリケーション全体に宝石を解凍するのは大変だと思っていました。それが提供する単一のビューをオーバーライドする方法はありますか?宝石の表示を無効にする適切な方法は何ですか?

このgemはspree_easy_contactで、Spreeアプリケーションに簡単に連絡フォームを追加できます。私はちょっと変わったことを言うために意見の一つを改ざんしたい。

+0

どの宝石ですか? Devise(暗闇の中で撮影)? –

+0

私たちは本当に多くの情報を必要としますが、いくつかの宝石はこれを簡単に許可しますが、他のものはそれほど簡単ではありません。例えば、考案の場合は、ルートを変更してビューをオーバーライドするだけです。他の人はそれをとても簡単にすることはできません。 –

+0

Spreeの連絡フォームを提供している宝物 – Trip

答えて

2

gemが名前空間になっている場合は、ローカルアプリケーションでビューの名前空間を設定できます。宝石がbest_gem_everする名前空間されている場合、その後、あなたのアプリケーションの構造は次のようになります。私の仕事では

app 
- assets 
- controllers 
- helpers 
- mailers 
- models 
- views 
- - best_gem_ever 
- - - wonderful_controller 
- - - - index.html.erb 

、我々は意図的にまだ管理ビューを引きながら、クライアントがフロントエンドのビューを上書きできるようにするには、この技術を使用して宝石からそれは本当にうまくいく。

ローカルアセットフォルダに保存するアセットファイルを作成すると、何らかの理由でアセットパイプラインがアセットファイルを取得しないという警告が1つあります。 config.assets.precompileリストに明示的に追加する必要があります。

希望に役立ちます!

+0

これは私には役に立たなかった。 –

+0

これは動作しますが、gemがエンジンとしてマウントされている場合は、ロードモジュールがブレークします。 –

関連する問題