Ruby on rails 无法使电话号码可单击(Rails应用程序使用CoffeeScript)

Ruby on rails 无法使电话号码可单击(Rails应用程序使用CoffeeScript),ruby-on-rails,ruby,coffeescript,Ruby On Rails,Ruby,Coffeescript,我正在运行一个餐馆发现网站,用户在地图上看到一堆标记,他们点击一个标记,打开一个信息窗口,用户可以在其中看到餐馆的元细节 问题是:我试图让餐厅的电话号码可以点击。当我在HTML中查看输出时,我看到了一个可点击的链接,但在该链接中没有看到电话号码,而是看到了我的变量名(附屏幕截图)。当我点击链接时,我会收到一条错误消息(附屏幕截图) 请参阅所附代码-相关的CoffeeScript文件和正在呈现的HTML视图 MAIN.COFFEE文件 infoHTML = (data) -> img =

我正在运行一个餐馆发现网站,用户在地图上看到一堆标记,他们点击一个标记,打开一个信息窗口,用户可以在其中看到餐馆的元细节

问题是:我试图让餐厅的电话号码可以点击。当我在HTML中查看输出时,我看到了一个可点击的链接,但在该链接中没有看到电话号码,而是看到了我的变量名(附屏幕截图)。当我点击链接时,我会收到一条错误消息(附屏幕截图)

请参阅所附代码-相关的CoffeeScript文件和正在呈现的HTML视图

MAIN.COFFEE文件

infoHTML = (data) ->
  img = if data.photo then "<img onerror='this.parentNode.removeChild(this)' src='#{data.photo}' style='margin:5px 5px 0 0;max-height:70px'>" else ''
  html = "<table><tr><td style='vertical-align:top'>#{img}</td><td>"
  html += data.name + '<br>'
  html += data.address + '<br>'
  html += "<a href= '+ data.phone + '> + data.phone</a>" + '<br>' if data.phone
  html += "<img src='/assets/uber.jpg' style='max-height:13px'> £#{data.cost}" + '<br>' if data.cost
  if data.michelin_status && data.michelin_status != 'yes'
    html += data.michelin_status + '<br>'
  html += data.rating + '% rated' if data.rating
  html + '</td></tr></table>'
infoHTML=(数据)->
img=如果是data.photo,则为“else”
html=“#{img}”
html+=data.name+'
' html+=data.address+'
' 如果data.phone为html++++,
' html+=“£#{data.cost}”+'
'如果data.cost 如果data.michelin_状态&&data.michelin_状态!='对 html+=data.michelin_status+'
' html+=data.rating+'%rated'如果data.rating html+“”

正在渲染的视图


单击电话链接时看到的内容


您混合了您的报价,因此

html += "<a href= '+ data.phone + '> + data.phone</a>" + '<br>' if data.phone

你混合了你的引语,所以

html += "<a href= '+ data.phone + '> + data.phone</a>" + '<br>' if data.phone

你混合了你的引语,所以

html += "<a href= '+ data.phone + '> + data.phone</a>" + '<br>' if data.phone

你混合了你的引语,所以

html += "<a href= '+ data.phone + '> + data.phone</a>" + '<br>' if data.phone

你在那一行有一个“和”的组合。看起来你在那一行的“你有一个和”之前需要一个。看起来你在那一行的“你有一个和”之前需要一个。看起来你在那一行的“你有一个和”之前需要一个。看起来你在“不起作用”之前需要一个。使用您的修复程序,我现在可以在视图中看到该号码,但是如果我单击该号码,我会收到一条操作控制器异常消息,上面说路由错误-没有路由匹配。这就是它的工作原理,因为您正在将该电话号码添加到href中,因此您可以获得,例如,
,它将查找不存在的路由。我已经在我的答案中添加了额外的链接,并检查它以查看如何创建可点击的电话号码(我认为您需要添加
电话:
前缀-
)。不起作用。使用您的修复程序,我现在可以在视图中看到该号码,但如果我单击该号码,我会收到一条操作控制器异常消息,提示路由错误-没有路由匹配。这就是它的工作原理,因为您正在将该电话号码添加到href中,因此您会得到,例如,
,这将寻找不存在的路线。我已经在我的答案中添加了额外的链接,并检查它以查看如何创建可点击的电话号码(我认为您需要添加
电话:
前缀-
)。不起作用。使用您的修复程序,我现在可以在视图中看到该号码,但如果我单击该号码,我会收到一条操作控制器异常消息,提示路由错误-没有路由匹配。这就是它的工作原理,因为您正在将该电话号码添加到href中,因此您会得到,例如,
,这将寻找不存在的路线。我已经在我的答案中添加了额外的链接,并检查它以查看如何创建可点击的电话号码(我认为您需要添加
电话:
前缀-
)。不起作用。使用您的修复程序,我现在可以在视图中看到该号码,但如果我单击该号码,我会收到一条操作控制器异常消息,提示路由错误-没有路由匹配。这就是它的工作原理,因为您正在将该电话号码添加到href中,因此您会得到,例如,
,这将寻找不存在的路线。我已经在我的答案中添加了额外的链接,并检查它以查看如何创建可单击的电话号码(我认为您需要添加
电话:
前缀-
)。