1

我正在尝试将prependajax 请求返回到 div 内容的部分视图。我已经尝试了很长一段时间,但它似乎不想工作。

这是我的 javascript (jquery) 代码:

$("#new_post_form").bind "ajax:success", (event, data, xhr) ->
  $("#feed").prepend(data)

创建帖子时,我的控制器将返回部分视图:

def create
    @post = Post.new(params[:post])

    respond_to do |format|
      if @post.save
        format.html { redirect_to @post, notice: 'Post was successfully created.' }
        format.js   { render :partial => "posts/post", :locals => {:post => @post}}
        format.json { render json: @post, status: :created, location: @post }
      else
        format.html { render action: "new" }
        format.json { render json: @post.errors, status: :unprocessable_entity }
      end
    end
  end

不知道为什么数据没有被添加到#feed。我相信数据是一个对象而不是一个 html 字符串?

任何帮助表示赞赏。谢谢。


额外: 调用ajax的表单

=simple_form_for(@post, :method => "post", :remote => true, :id => "new_post_form") do |f|
  =f.error_notification
  =f.text_area :description, :id => "post_box", :class => "span12"
  %br
  %div{:id=>"post_box_buttons"}
    .input-append
      =f.select("location_id", @college.locations.collect {|r| [ r.name, r.id ] }, { :include_blank => false })
      =f.button :submit, :value => "Submit", :class => "btn btn-primary"
4

1 回答 1

0

simple_form_for不会id以这种方式添加您想要的。你需要:

=simple_form_for(@post, :method => "post", :remote => true, :html => {id: 'new_post_form'}) do |f|

于 2013-01-27T13:26:36.333 回答