在视图中动态加载简单内容

问题描述:

我跟着this tutorial构建一个简单的功能:点击一个按钮加载存储在部分内容中的内容。我想稍后在不希望使用信息重载视图的各个地方使用它,以便让它们保持轻微,但如果需要,则允许用户访问信息。在视图中动态加载简单内容

继教程这是代码:

# in view: knowledge/index.html.haml 

.container 
    .row 
    .col-xs-12 
     = link_to 'Show more info', fetch_adus_path, :remote => true 
     #adus 

-

# in: config/routes.rb 

get '/knowledge/fetch_adus', to: 'knowledge#selected_adus', as: 'fetch_adus' 

-

# my partial: knowledge/_adus_all.html.haml 

%p Content will be added here 

-

# in: knowledge_controller.rb 

def selected_adus 
    respond_to do |format| 
    format.js 
    end 
end 

-

# knowledge/selected_adus.js.haml 

$("#adus").html("#{escape_javascript(render partial: 'adus_all')}"); 

在知识(索引页) - 当我将鼠标悬停在“显示详细信息”浏览器表明它应该链接到本地​​主机:3000 /知识/ fetch_adus但是当我点击它没有任何反应。我在控制台得到一个错误:

GET http://localhost:3000/knowledge/fetch_adus 500 (Internal Server Error) jquery.self-bd7ddd393353a8d2480a622e80342adf488fb6006d667e8b42e4c0073393abee.js?body=1:10255

这(点击后)导致这行代码:

xhr.send((options.hasContent && options.data) || null);

为了提供更多的情况下,当我两次单击链接我得到一个更简单错误:

knowledge/fetch_adus Failed to load resource: the server responded with a status of 500 (Internal Server Error)

导致此轨错误页面:

ActionController::UnknownFormat in KnowledgeController#selected_adus

ActionController::UnknownFormat

Extracted source (around line #25):

respond_to do |format|

我是新来的铁轨,如果任何人有任何想法如何解决它,或者如果有任何其他方式建立我所描述的功能,我将非常感谢任何建议。

+0

显示请求发出时的服务器日志和完整的控制器代码 – dstull

+0

@dstull我检查了日志,发现了什么问题。在部分文件中,我有一些被注释掉的代码,但奇怪的是它导致了模板错误。删除它和两个js解决方案(escape_javascript和j渲染 - 翻译成哈姆 - 工作)。不知何故,我没有检查日志。将其添加到我的个人调试场景清单中。非常感谢! – Socha

的解决方案是简单的比预期的。感谢@dstull,我检查了日志,发现了什么问题。在部分我有一些代码已被注释掉,但奇怪的是它导致模板错误。删除它和两个js解决方案(escape_javascript和j渲染 - 翻译成哈姆 - 工作)。始终检查日志是一种很好的做法。

看起来像你的知识问题/ selected_adus.js.haml文件

尝试重新格式化$("#adus").html("#{escape_javascript(render partial: 'adus_all')}");$("#adus").html("<%= j render partial: 'knowledge/adus_all' %>");

+0

感谢@Zubin--看起来这两种解决方案都是正确的,问题出在其他地方 - 在一个已被注释掉的代码中,但仍然导致模板错误。 – Socha