2

我正在尝试为 ajax 请求渲染部分内容,但我找不到使用 Ruby on Rails 的方法...

这是我的数组变量

@return = { :error => false, :response => "Added", :partial => ... }

render :json => ActiveSupport::JSON.encode( @return )

...部分(html)应该在哪里......

方法名称是 add_item,它的控制器是 items,我在 items 文件夹中创建了一个 add_item.html.erb 文件,其中包含我想要传递给数组的 HTML,并使用 jQuery 将其添加到 DOM

我想这可以使用

render :partial => "partial", :object => @object

但是我怎样才能将它添加到上面的数组中?

4

2 回答 2

2

解决方案:

@return = { :error => false, :response => "Added", :partial => render_to_string(:partial => "partial/path", :object => @object) }
于 2012-08-17T15:52:17.080 回答
0

我做我认为你正在尝试做的事情的方式是在 触发 ajax 消息add_item,然后在add_item有:

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

add_item.js.erb使用 jQuery 内容制作一个:

$('#div-for-code').html('<%= escape_javascript(render :partial => "mypartial") %>');

不确定这是最好的方法,但它对我有用。

于 2012-08-17T15:35:38.590 回答