- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我得到的错误令人费解,因为我从一个 Controller / View /javascript 复制了一些工作代码进行名称更改并取出行以获得初始工作版本。导致运行时错误的 coffeescript 文件的相关部分如下。
应用程序/ Assets /javascripts/companies.js.coffee
...
calculateResult = (company_id)->
data = $('#x_company_drill_interests').serialize()
console.log(" -01- in calculateResult ")
console.log data
$.ajax
url:"/companies/#{company_id}/projection.json",
type:"post"
dataType: 'json' # data type of response
data: data
failure: (data,success,xhr)->
console.log(" -01- in calculateResult - Failure ")
console.log data
success: (data,success,xhr)->
console.log("-01- in calculateResult - SUCCESS ")
company_listings_block = $ '#x_company_listings_results .infogroup-body'
head_row = $ '''
<tr>
<th>Company</th>
</tr>
'''
table = $ '<table border="0" cellpadding="0" cellspacing="5"></table>'
table
.addClass('info')
.append(head_row)
for result in data
name = result.display_name
result_row = $ """
<tr>
<td>#{name}</td>
</tr>
"""
table.append result_row
eval_result_block.html('').append table
产生错误:
uncaught ReferenceError: head_row is not defined
这是由 .append(head_row)
行引起的。如果删除此行,我会收到此错误 Uncaught ReferenceError: eval_result_block is not defined
。
同样出于某种原因,我无法获得使用 Post 路由的代码。这是我添加修改路由文件的方式。
配置/rutes.rb
resources :companies, only: [:destroy, :update] do
member do
get 'companies_drill_interests'
match 'projection', via: [:get,:post, :patch]
end
end
引用这里是我复制的工作代码
calculateResult = (drill_id)->
console.log(" -001- in calculate results")
data = $('#x_evaluation_assumption_params').serialize()
$.ajax
url:"/drills/#{drill_id}/projection.json",
type:"post"
dataType: 'json' # data type of response
data: data
failure: (data,success,xhr)->
console.log(" -001- in Calculate Result - Failure ")
console.log data
success: (data,success,xhr)->
# console.log(" -001- print data from call")
eval_result_block = $ '#x_id_evaluation_results .infogroup-body'
head_row = $ '''
<tr>
<th>Company</th>
<th>Price</th>
<th>Mkt Cap</th>
<th>Discovery Value</th>
<th>Target Price</th>
<th>Leverage</th>
<th>Risked Lev </th>
<th>Leverage with CFD's</th>
</tr>
'''
table = $ '<table border="0" cellpadding="0" cellspacing="5"></table>'
table
.addClass('info')
.append(head_row)
for result in data
if !(result.listing.option_unlisted)
name = result.display_name
share_price = '$' +
NumberHelpers.number_with_precision((result.listing.share_price/1000), {separator: '.', precision: 3, delimiter: ','})
market_capitalisation_mill = '$' +
NumberHelpers.number_with_precision((result.market_capitalisation/1000000), {separator: '.', precision: 1, delimiter: ','}) + 'M'
discovery_value = '$' +
NumberHelpers.number_with_precision(result.discovery_value_total, {separator: '.', precision: 0, delimiter: ','})
discovery_value_per_share = '$' +
NumberHelpers.number_with_precision((result.target_share_price), {separator: '.', precision: 2, delimiter: ','})
leverage =
NumberHelpers.number_with_precision(result.leverage, {separator: '.', precision: 0, delimiter: ','}) + '%'
risked_leverage =
NumberHelpers.number_with_precision(result.risked_leverage, {separator: '.', precision: 0, delimiter: ','}) + '%'
leverage_with_CFD =
NumberHelpers.number_with_precision(result.leverage_with_CFD, {separator: '.', precision: 0, delimiter: ','}) + '%'
result_row = $ """
<tr>
<td>#{name}</td>
<td>#{share_price}</td>
<td>#{market_capitalisation_mill}</td>
<td>#{discovery_value}</td>
<td>#{discovery_value_per_share}</td>
<td>#{leverage}</td>
<td>#{risked_leverage}</td>
<td>#{leverage_with_CFD}</td>
</tr>
"""
table.append result_row
eval_result_block.html('').append table
最佳答案
在第一个代码中,eval_result_block
在使用之前没有定义。关于result_row
, 在它的代码的第一部分是一个 for
循环,而在代码的另一部分中,它位于此 for
之外因为 risked_leverage
循环有不同的缩进,短了 4 个空格。这意味着它在 for
之外循环,所以,这就是为什么 result_row
也在外面。
在 coffeescript 中,缩进很重要。如果你输入 3 个空格而不是 2 个,生成的代码将会不同。查看您的代码:
failure: (data,success,xhr)->
console.log(" -01- in calculateResult - Failure ")
console.log data
success: (data,success,xhr)->
console.log("-01- in calculateResult - SUCCESS ")
company_listings_block = $ '#x_company_listings_results .infogroup-body'
head_row = $ '''
如果不同
failure: (data,success,xhr)->
console.log(" -01- in calculateResult - Failure ")
console.log data
success: (data,success,xhr)->
console.log("-01- in calculateResult - SUCCESS ")
company_listings_block = $ '#x_company_listings_results .infogroup-body'
head_row = $ '''
因为在第一种情况下有 3 个空格,而在第二种情况下有 2 个空格。
此处您的代码具有正确的缩进。通过阅读你的代码,我认为 result_row
和 table.append result_row
必须在 for
中循环。
calculateResult = (company_id)->
data = $('#x_company_drill_interests').serialize()
console.log(" -01- in calculateResult ")
console.log data
$.ajax
url:"/companies/#{company_id}/projection.json",
type:"post"
dataType: 'json' # data type of response
data: data
failure: (data,success,xhr)->
console.log(" -01- in calculateResult - Failure ")
console.log data
success: (data,success,xhr)->
console.log("-01- in calculateResult - SUCCESS ")
company_listings_block = $ '#x_company_listings_results .infogroup-body'
head_row = $ '''
<tr>
<th>Company</th>
</tr>
'''
table = $ '<table border="0" cellpadding="0" cellspacing="5"></table>'
table
.addClass('info')
.append(head_row)
for result in data
name = result.display_name
result_row = $ """
<tr>
<td>#{name}</td>
</tr>
"""
table.append result_row
company_listings_block.html('').append table
您可以尝试将每一部分代码编译成javascript,这将有助于您理解发生了什么。 Coffee compiler
关于javascript - ROR - coffeescript 导致 "Uncaught ReferenceError",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25776912/
我已经使用 RailsInstaller 安装了 Ruby on Rails,还在 Windows 8 中安装了 postgresql。我正在尝试使用文件运行 rails server,但我收到错误消
我正在尝试关注 Ryan Bates RailsCast #196: Nested model form part 1 。 Ryans 版本有两个明显的区别:1)我使用的是内置脚手架,不像他使用的那么
你好,我通过内部连接获取了重复的数据行。我编写了带有 OR 条件的内部连接。 Controller userscontroller.rb @users = User.search(params[:se
我已经创建了一个表,现在我想给表添加一个关联(has_many 关系)。如果我已经创建了一个表并且在创建模型后已经完成了 rake db:migrate,我该怎么办? 在ror中创建表后是否可以添加关
我正在尝试将数据插入 ROR 中的数据库,对于电话号码,我采用了字段整数..但它只采用了 9 位数字..如果我尝试输入 10 位数字。它提供错误作为。 Mysql2::Error: Out of ra
如何获得事件项目菜单?循环生成菜单 我想为这个项目使用其他 css 属性。有任何想法吗?最好是js,jquery... 最佳答案 link_to_unless_
我正在编辑设计生成的用户模型,为用户添加一个语言字段,他可以在其中添加他从组合框中所说的一种或多种语言。 我的问题是在 mysql 中表示这一点的最佳方式是什么。我不知道他会说多少种语言,所以可能最多
我对 Rails 很陌生,并且对这个问题的逻辑有点困惑。 我有一张员工表(使用mysql),每个员工都有一个manager_id键,该键指的是他们向其汇报的员工。例如,标题为“CEO”且 id 为 1
那里的例子很少,但没有一个是非常清楚的(或在旧版本上)。 我想调用 MySQL 过程并检查返回状态(在 rails 4.2 中)。我看到的最常见的方法是调用 result = ActiveRecord
我在 /public 下有一些静态错误页面,我在其中按以下方式链接了一个名为 errors.min.css 的样式表: 但是,当我在除根路径 (/abc/non-existent-url) 之外的路
我想在 RoR 中将一张图片叠加在另一张图片上。 在纯 html 中这样做很容易(来自 https://stackoverflow.com/a/1997397/1760830 ): 当
我正在努力将静态站点引入 ruby on rails 应用程序,以便我们可以构建功能等。 我已经使用页面 Controller 设置了所有静态页面,并将所有静态页面存储在 View /页面下...
我在表格中有一个单元格,看起来像 我想编写一个 CSS 类,根据 play_result.status 的值更改此单元格的字体颜色,绿色代表字符串“OK”,橙色代表“CHANGED”,蓝色代表“
我正在尝试绑定(bind)帖子搜索页面上的类别下拉列表。下拉菜单应将类别图像显示为下拉菜单中类别名称左侧的图标。 下一行绑定(bind)所有类别并在下拉列表中显示它们的名称: 'Any') %> 我
在 Ruby 代码的 TextField 中,我想在模糊事件中检查指定的类是否被应用。请建议一些技术或方法。下面给出了我使用的示例代码。 TextField 的 Ruby 代码:: 4, :t
试图弄清楚 Ruby On Rails 中如何处理并发。 如何获取一段代码来锁定数据库中的行并在需要时强制回滚? 更具体地说,有没有办法强制某一段代码完全完成,如果不回滚?我想在我的项目中为交易添加历
我们正在开发一个 Rails 应用程序,其中一类用户可以编辑和创建文章。有时这些文章包含指向网站上其他文章的链接。执行以下操作的最佳方法是什么? 将链接存储在数据库中 在页面上呈现链接 目前我们有绑定
我有以下 ROR 代码 def func (point,c,r) res=isPointInCircle(point,c,r) #returns true/ false if
如何在 Rails 3.0 中使用 MD5 加密字符串?模型中的 pass = MD5.hexdigest(pass) 产生 未初始化的常量 MyModel::MD5 最佳答案 为此,您可以使用 Ru
我正在寻找有关监控每天大约有 250,000 次插入的特定表的建议。规模不大,但增长迅速,我们不能像现在这样继续工作。 主要应用程序依赖于带有 MySQL 数据库的 RoR4。数据从多个 Radius
我是一名优秀的程序员,十分优秀!