首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AASM Gem被Rails打破2.3.2?

AASM Gem被Rails打破2.3.2?
EN

Stack Overflow用户
提问于 2009-04-09 15:26:23
回答 2查看 2.7K关注 0票数 1

是否有人在Rails 2.3.2中使用AASM状态机Gem有任何问题?它对我来说很好,但是现在给我一个NoMethodError

代码语言:javascript
复制
NoMethodError (undefined method `state' for #<Comment:0x25cb8ac>):
  /usr/local/lib/ruby/gems/1.8/gems/rubyist-aasm-2.0.5/lib/persistence/active_record_persistence.rb:231:in `send'
  /usr/local/lib/ruby/gems/1.8/gems/rubyist-aasm-2.0.5/lib/persistence/active_record_persistence.rb:231:in `aasm_read_state'
  /usr/local/lib/ruby/gems/1.8/gems/rubyist-aasm-2.0.5/lib/persistence/active_record_persistence.rb:135:in `aasm_current_state'
  /usr/local/lib/ruby/gems/1.8/gems/rubyist-aasm-2.0.5/lib/persistence/active_record_persistence.rb:156:in `aasm_ensure_initial_state'
 app/controllers/comments_controller.rb:12:in `create'

下面是我的模型中使用AASM的相关代码:

代码语言:javascript
复制
class Comment < ActiveRecord::Base
  include AASM
  belongs_to :post          
  after_create :spam_check

  aasm_column :state
  aasm_initial_state :submitted
  aasm_state :submitted
  aasm_state :approved
  aasm_state :rejected

  aasm_event :ham do
    transitions :to => :approved, :from => [:submitted, :rejected]
  end

  aasm_event :spam do
    transitions :to => :rejected, :from => [:submitted, :approved]
  end     

  private          
  def spam_check
    # Invoke Askismet to see if the comment is spam...
  end
end

注意,我的comments表中有comments列。

  • 知道它为什么不再起作用了吗?
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-04-09 21:56:30

你需要在你的评论表中有一个名为'state‘的字段。您使用aasm_column :state定义了它。这不是Rails 2.3.2错误!:D

票数 2
EN

Stack Overflow用户

发布于 2009-04-09 15:39:04

aasm主页上看,在写文章的时候,有一个更新即将到来.

上有一个小小的讨论--我不知道这是否有帮助。

执行

代码语言:javascript
复制
gem list .*aasm --remote

抛出一堆推荐信:

代码语言:javascript
复制
aasmith-yodlee (0.0.1.20090301132701)
bloom-aasm (2.0.3)
bloom-bloom-aasm (2.0.3)
caleb-aasm (2.0.2)
dunedain289-aasm (2.1.3)
dvdplm-aasm (2.0.6)
eric-aasm (2.0.4)
factorylabs-aasm (2.0.5.2)
gvaughn-aasm (2.0.4)
lostboy-aasm (2.0.5.1)
mikowitz-aasm (2.0.6)
netguru-aasm (2.0.6)
notch8-aasm (2.0.5)
rubyist-aasm (2.0.5)
runcoderun-aasm (2.0.5.1)
snoozer05-aasm (2.0.2)
spicycode-aasm (2.0.0)

它怀疑一些或全部"dvdplm-“、”工厂实验室-“和"runcoderun-”可能是git叉。你可能会发现一个或多个解决了你的问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/734718

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档