3

これはrails g bootstrap:themed Associations、ターミナルで実行しようとすると発生します。

C:/Users/ruby/.pik/rubies/Ruby-193-p327/lib/ruby/gems/1.9.1/gems/twitter-bootstrap-rails-2.1.9/lib/generators/bootstrap/themed/themed_generator.rb:87:in `block in retrieve_columns': undefined method `columns' for Association:Class (NoMethodError)

それはうまくいかないようです、私は多くの方法を試し、どこでも検索しましたが、決して成功しませんでした。私はMongoを使用しています。

4

1 に答える 1

7

まったく同じエラーが発生しました。私は2つの同じプロジェクトを作成しました。1つはモンゴイドあり、もう1つはなしです。mongoidプロジェクトでのみエラーが発生します。

問題を解決するように思われるこの回避策を見つけました:

ファイル内のActiveRecord(87行目あたり)への参照を削除します。

/home/ubuntu/.rvm/gems/ruby-1.9.3-p327/bundler/gems/twitter-bootstrap-rails-b8b7eb22614a/lib/generators/bootstrap/themed/themed_generator.rb

私が変更され ...

  def retrieve_columns
    if defined?(ActiveRecord)
      rescue_block ActiveRecord::StatementInvalid do
        @model_name.constantize.columns
      end
    else
      rescue_block do
        @model_name.constantize.fields.map {|c| c[1] }
      end
    end
  end

これに...

  def retrieve_columns
      rescue_block do
        @model_name.constantize.fields.map {|c| c[1] }
      end
  end

ビューを機能させるには、モデルクラスにnilではないcreated_atフィールドがあることを確認する必要がありました(または、生成されたビューを編集します)。

お役に立てれば。

PS:うわー...あなたはWindowsでtwitter-bootstrap-railsが動作しているようです-それが可能だとは知りませんでした!

于 2012-12-29T03:09:56.740 に答える