Rails - 向partials添加ajax,' undefined方法`render''

时间:2014-10-02 15:31:36

标签: javascript ruby-on-rails ajax

我有一个表单部分,在带有id" chapcomments"的div中,带有提交标记 -

<%= f.submit "Post", remote: true %>

在正确的视图文件夹中,我有create.js.erb -

$('#chapcomments').html("<%=j render 'shared/chap_comment_complete' %>");

在控制器中我有格式块,包括

def create
  @chap_comment = current_user.chap_comments.build(chap_comment_params)

  respond_to do |format|
    if @chap_comment.save
      format.js
      format.html {redirect_to chapter_path(@chap_comment.chapter)}
    else
      format.html { render :new }
      format.json { render json: @chap_comment.errors, status: :unprocessable_entity }
    end
  end
end

...但我没有得到ajax行为......

我哪里错了?

1 个答案:

答案 0 :(得分:1)

您已进行更改,以便JS位于视图中的右侧js.erb文件中,但您需要将remote: true部分从提交标记移动到form_for声明中,否则将呈现format.html响应块而不是format.js。