在Camping App中调用Javascript时出错

时间:2013-05-02 15:38:46

标签: javascript ruby camping

我想了解一下webapps。我决定边做边学,并选择开始简单的露营(i)。它小而且(ⅱ)。我知道一些红宝石。

我认为我很喜欢HTML和CSS方面的东西并使用MAB。所以我决定加强并添加一些无效的javascript。以下是我的观点中的违规代码段:

    div.image do
      link :rel => 'stylesheet', :href => 'styles.css'
      script :type =>"text/javascript", :src => 'display_date.js'
      # The hash argument always go at the end.
      button 'Display Date', :type => "button", :onclick => "displayDate" 
    end

javascript文件如下所示:

function displayDate()
{
 document.getElementById("demo").innerHTML=Date();
}

当我点击屏幕上的“显示日期”按钮时,Firefox webconsole报告

  

- [18:32:46.762] ReferenceError:未定义displayDate

它也无法在IE上运行。驻留文件和Javascript文件位于同一目录中。请指教。然而,我得到的结果比添加Javascript内联更好,这会导致堆栈错误,我可以在没有内联js的情况下生活,但是知道如何对此进行编码也很方便。

2 个答案:

答案 0 :(得分:0)

要获得要调用的函数,您必须输入onclick = "javascript:displayData()"

答案 1 :(得分:0)

我也是露营和Ruby的新手,所以这可能很糟糕。它虽然有效;)

为控制器模块提供一条路径,以便向客户端提供display_date.js:

class MyJS < R '/display_date\.js'    
  JS = File.read('display_date.js')
  def get
    @headers['Content-Type'] = 'application/javascript; charset=utf-8'
    JS
  end
end

将displayDate作为一个函数调用,使用parens::onclick => displayDate()