当我尝试在终端中运行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。
答案 0 :(得分:7)
我得到了完全相同的错误。我创建了两个相同的项目 - 一个有mongoid,一个没有。我只得到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工作 - 我不知道这是可能的!