1

ここでチュートリアルに従おうとすると、このエラーが発生します

http://jimneath.org/2008/06/03/converting-videos-with-rails-converting-the-video.html

チュートリアルが言うように、フィールドが必要なビデオと呼ばれるテーブルがありますが、ブラウザでインデックスを取得しようとすると、この醜いエラーが発生します。これはどのように解決できますか?ありがとう。

VideosController#index の NoMethodError

undefined method `acts_as_state_machine' for #<Class:0xb5a5f5b8>

アプリケーション トレース | フレームワーク トレース | 完全なトレース

app/models/video.rb:9
app/controllers/videos_controller.rb:3:in `index'

ビデオコントローラー

class VideosController < ApplicationController
  def index
    @videos = Video.find :all
  end

  def new
    @video = Video.new
  end

  def create
    @video = Video.new(params[:video])
    if @video.save
      @video.convert
      flash[:notice] = 'Video has been uploaded'
      redirect_to :action => 'index'
    else
      render :action => 'new'
    end
  end

  def show
    @video = Video.find(params[:id])
  end
end

video.rb

class Video < ActiveRecord::Base
   # Paperclip
  # http://www.thoughtbot.com/projects/paperclip
  has_attached_file :source

  validates_attachment_presence :source
  validates_attachment_content_type :source, :content_type => 'video/quicktime'

  acts_as_state_machine :initial => :pending
  state :pending
  state :converting
  state :converted, :enter => :set_new_filename
  state :error

  event :convert do
    transitions :from => :pending, :to => :converting
  end

  event :converted do
    transitions :from => :converting, :to => :converted
  end

  event :failed do
    transitions :from => :converting, :to => :error
  end
4

1 に答える 1

0

私も同じ問題を抱えていました。

別の作業中のプロジェクト\プラグインからディレクトリacts_as_state_machineをコピーして解決しました

この助けを願っています。

データ

于 2012-01-06T07:38:59.457 に答える