如何建立链接指向视图?

时间:2013-05-18 15:29:32

标签: jquery ajax ruby-on-rails-3

在我的 application.html.erb 文件中,我有一些链接和<%= yield%> 。我想要的是点击链接,在<%= yield%> 字段中呈现的视图,而不刷新整个页面。

所以,我开始用ajax实现这个,但我做错了,需要一些帮助。

这就是我所做的:

在我的webinars_controller.rb 索引方法中,我添加了 format.js

respond_to do |format|
  format.html
  format.js
  format.json { render json: @webinars }
end

然后在/ app / views / webinars / folder中创建 index.js.erb 文件:

$('.b-content-container').html("<%=j render @webinars %>");

以下是我在 application.html.erb 文件中创建链接的方式:

  

但点击我得到interal的链接会发出错误,指出我在 application.js 中的代码:

  

//发送请求

     

//这可能会引发一个实际上是

的异常      

//在jQuery.ajax中处理(所以没有试试/ catch)

     

xhr.send((s.hasContent&amp;&amp; s.data)|| null);

1 个答案:

答案 0 :(得分:0)

为了解决这个问题,我必须使用渲染render函数的:template 选项来指定模板,并使用:collection 来传递数据到当前模板。

> <%=j render template:'webinars/index' , collection:@webinars
> %>

这仍然失败,因为在views文件夹中我有一个名为: index.js.erb 的部分,并且某种程度上rails无法理解我想要呈现的内容,所以我需要指定模板扩展名也是:

> <%=j render template:'webinars/index.html.erb' , collection:@webinars
> %>