在shoes4中调用按钮块内的特定方法时发出问题

时间:2013-07-05 07:22:58

标签: jruby shoes

While calling method inside button block in SHoes4 it throws error  undefined local variable or method `get_notes' . But when i call inside action it works fine,

Code:

class ShoesApp
 include Shoes
    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    # error      
        end         
      end
      @@result = para get_notes # Works fine
    end

    def get_notes
      Note.all.map(&:message).join("\n")
    end
end

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

1 个答案:

答案 0 :(得分:1)

感谢您报告此问题。

将脚本调整到当前的shoe4主服务器(例如< Shoes而不是include Shoes以获得向后兼容性)后,脚本错误与堆栈级别太深,这与URL系统的工作方式有关时刻(转发消息)。 URL系统也是重构的主要部分,有望在接下来的7天内完成。

请记住,shoes4仍处于开发阶段且处于预备alpha阶段。所以它尚未准备好用于高效使用。

将来,由于更好的可见性,您可能还会在shoes4 issue tracker处获得更多运气报告问题。我只是偶然听到了。我继续前进created an issue there

干杯,希望你到目前为止享受鞋子,

托比

编辑:哦顺便说一句,一般来说你应该真的避免使用类变量(@@)它们经常表现得很奇怪而且通常不被认为是好习惯,但这并没有真正与问题联系

edit2:另一件事是Note类似乎缺失了,虽然它看起来像是用Shoes3构建的。不确定我们是否会保持兼容性。