【问题标题】:Passing :locals argument to partial rendered by link_to_remote将 :locals 参数传递给由 link_to_remote 渲染的部分
【发布时间】:2009-02-25 09:35:13
【问题描述】:

来自link_to_remote 的文档

然后可以将该请求的结果插入到 DOM 对象中,其 id 可以使用 options[:update] 指定。通常,结果将是由控制器使用 render :partial 准备的部分。

例如,可以这样做:

<%= link_to_remote( "Some link text", :url => url, :method => method, :update => 'name_of_partial' %>

有没有办法将 :locals 哈希传递给部分(在上面的示例中,'name_of_partial'),类似于使用“render :partial”渲染它的方法?

【问题讨论】:

    标签: ruby-on-rails


    【解决方案1】:

    你不太明白。 :update 参数是元素的 html id,其内容将被此 ajax 调用结果的内容替换。

    <div id="ajax_message"></div>
    <%= link_to_remote 'click me',
                       :url => my_ajax_action_path,
                       :update => 'ajax_message' %>
    

    有问题的部分是响应控制器中的 ajax 请求而呈现的。

    def my_ajax_action
      @my_object = MyOobject.find(params[:id]) #or something
      render :partial => 'my_object',
             :locals => { :my_object => @my_object }
    end
    

    然后通过:update 参数将生成的响应正文推入您之前命名的元素中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-02
      • 1970-01-01
      • 1970-01-01
      • 2018-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多