2

Rails 3.2.8 エンジンに simple_form をロードすると、simple_form 初期化ファイル simple_form.rb によって次のエラーが発生します。

/config/initializers/simple_form.rb:2:in `<top (required)>': uninitialized constant SimpleForm (NameError)
        from c:/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.2.8/lib/rails/engine.rb:588:in `block (2 levels) in <class:Engine>'
        from c:/Ruby193/lib/ruby/gems/1.9.1/gems/railties-3.2.8/lib/rails/engine.rb:587:in `each'

エンジンの config/initializers の下にある simple_form.rb は次のとおりです。

# Use this setup block to configure all options available in SimpleForm.
SimpleForm.setup do |config|
  # Wrappers are used by the form builder to generate a
  # complete input. You can remove any component from the

エラーのSimpleForm.setup do |config|原因です。エンジンの namespece を as として追加しようとしRfqxEmc::SimpleForm.setup do |config|ましたが、エラーは同じです。

Railsエンジンにsimple_formをインストール/ロードする正しい方法は何ですか?

4

2 に答える 2

3

これは、Rails エンジンの simple_form について話している投稿です。simple_form.rb に require 'simple_form' を追加するだけです。

于 2012-12-02T02:08:17.633 に答える
0

受け入れられた回答が機能せず、エンジンを作成している場合は、アプリケーションにも宝石をインストールする必要がありました。私は環境にやさしすぎて、エンジンからより簡単に gem を継承する方法があるかどうかを知りません。config/application.rb で「simple_form」を要求しても機能しませんでした。また、イニシャライザで simple_form を要求する必要もありませんでした。

于 2017-01-31T20:57:23.287 に答える