gpt4 book ai didi

ruby-on-rails - acts_as_taggable 未定义方法 'each' 错误

转载 作者:数据小太阳 更新时间:2023-10-29 08:55:10 25 4
gpt4 key购买 nike

我正在尝试使用 acts_as_taggable 插件在我的 ruby​​ on rails 应用程序中包含标记功能。我附上了代码。我已经安装了插件并运行了迁移。我收到以下错误。

undefined method `each' for "value of the parameter":String

代码

location.rb - 位置表有名称、标签(这是我在表中的一个附加字段,我在知道插件之前添加了它:)、城市字段

class Location < ActiveRecord::Base
belongs_to :profile
acts_as_taggable
end

profile.rb

class Profile < ActiveRecord::Base
has_many :locations
acts_as_tagger
end

location_controller.rb

def create
@location = Location.new(params[:location])
@location.tag_list = ["tags1","tags2"]
if @location.save
redirect_to(@location)
else
redirect_to(@profile)
end
end

应用程序跟踪

/usr/local/lib/ruby/gems/1.9.1/gems/activerecord-2.3.8/lib/active_record/associations/association_collection.rb:320:in `replace'
/usr/local/lib/ruby/gems/1.9.1/gems/activerecord-2.3.8/lib/active_record/associations.rb:1331:in `block in collection_accessor_methods'
/usr/local/lib/ruby/gems/1.9.1/gems/activerecord-2.3.8/lib/active_record/base.rb:2906:in `block in assign_attributes'
/usr/local/lib/ruby/gems/1.9.1/gems/activerecord-2.3.8/lib/active_record/base.rb:2902:in `each'
/usr/local/lib/ruby/gems/1.9.1/gems/activerecord-2.3.8/lib/active_record/base.rb:2902:in `assign_attributes'
/usr/local/lib/ruby/gems/1.9.1/gems/activerecord-2.3.8/lib/active_record/base.rb:2775:in `attributes='
/usr/local/lib/ruby/gems/1.9.1/gems/activerecord-2.3.8/lib/active_record/base.rb:2473:in `initialize'
/Users/felix/rails_projects/sample_app/app/controllers/locations_controller.rb:92:in `new'
/Users/felix/rails_projects/sample_app/app/controllers/locations_controller.rb:92:in `create'

谢谢

最佳答案

您是否正在使用 Ruby 1.9?这个答案的其余部分以"is"开头。如果是这样,请继续阅读。

您可能无意中发现了 1.9 的行为变化。 1.9 中的字符串不再支持 each(即它们不像 Ruby 1.8 那样Enumerable)。但是您可以使用 each_char,这可能是预期的。

如果这不是您的代码崩溃,那么您可以:

  • 回到 1.8.x(显而易见)
  • 通过添加一个方法 each 来破解 String 类(困惑且可能危险)
  • 修复导致问题的 gem 或插件。

关于这一切有一篇很棒的文章 here

关于ruby-on-rails - acts_as_taggable 未定义方法 'each' 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3294452/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com