0

当我运行包含安装 gem 的代码的 shoes.rb 文件时,它会引发错误。

鞋类的未定义方法设置:类

代码:

Shoes.setup do
  gem 'activerecord' # install AR if not found

  require 'active_record'
  require 'fileutils'

  ActiveRecord::Base.establish_connection(
    :adapter   => 'postgresql',
    :dbfile    => 'shoes_app'
  )

  # create the db if not found
  unless File.exist?("shoes_app.sqlite3")
    ActiveRecord::Schema.define do
      create_table :notes do |t|
        t.column :message, :string
      end
    end
  end

end

class ShoesApp < Shoes
  require 'note'

  url '/', :index

  def index
    para 'Say something...'
    flow do
      @note = edit_line
      button 'OK' do
        Note.new(:message => @note.text).save
        @note.text = ''
        @result.replace get_notes  
      end
    end
    @result = para get_notes
  end

  def get_notes
    messages = []
    notes = Note.find(:all, :select => 'message')
    notes.each do |foo|
      messages << foo.message
    end
    out = messages.join("n")
  end

end

Shoes.app :title => 'Notes', :width => 260, :height => 350
4

1 回答 1

0

问题在于使用 Shoes4,其中设置方法未实现。

由于向后兼容的原因,Shoes4 现在实现了 Shoes.setup,但您实际上并不需要它,因此它除了打印一个您应该而gem install gem_name不是使用 Shoes.setup 的警告之外什么都不做。

于 2013-07-02T21:40:21.070 回答