【问题标题】:Rendering partial views with ajax calls in rails 3.1在 rails 3.1 中使用 ajax 调用渲染部分视图
【发布时间】:2012-05-21 12:40:48
【问题描述】:

我现在从 Rails 开始,我认为我有一个简单的问题。 我需要在一个 ajax 调用中渲染两个部分:

我有以下控制器:

# GET /hosts/1
# GET /hosts/1.json
def show
   @host = Host.find(params[:id])

   respond_to do |format|
      format.html #show.html
      format.js
      format.json { render :json => @host }
   end
end

以及相应的模板(show.js.erb):

$('#tabs-1').html("<%= escape_javascript(render @host) %>");

还有一个名为 _host.html.erb 的部分文件

这一切都很好。模板“_host.html.erb”在 div tabs-1 中呈现,但现在我需要在不同的 id (#tabs-2) 中添加一些其他部分模板,但使用相同的 @host 我怎样才能做到这一点?默认情况下,render @host 方法将使用模板文件“_host.html.erb”。我怎样才能调用像 _host2.html.erb 这样的不同实例并拥有相同的 @host 实例?

谢谢, 若昂

【问题讨论】:

    标签: ruby-on-rails ajax ruby-on-rails-3.1 erb renderpartial


    【解决方案1】:
    $('#tabs-1').html("<%= j(render @host) %>");
    $('#tabs-2').html("<%= j(render :partial => 'host2', :locals => { :host => @host }) %>");
    

    【讨论】:

      猜你喜欢
      • 2013-04-05
      • 2013-10-08
      • 2013-06-19
      • 1970-01-01
      • 1970-01-01
      • 2011-06-18
      • 2015-01-29
      • 1970-01-01
      • 2014-08-19
      相关资源
      最近更新 更多