jQuery + Ajax + Haml.js.erb文件没有触发

kel*_*unn 3 ajax jquery haml ruby-on-rails-3

在阅读了一些经验之后,我觉得这个问题可能需要重新提起来.在Rails3中进行编码时,我试图在用户尝试在我的应用程序的另一个元素上创建帖子时实现一些流畅的Ajax效果.这是我关注的代码:

应用程序/视图/职位/ new.html.haml

- form_for @post, :remote=>true do |f|
    = f.text_area :content
    = submit_tag "Post"
Run Code Online (Sandbox Code Playgroud)

应用程序/控制器/ post_controller.rb

def create
  @comment = Post.new(params[:post])
  @comment.save
end
Run Code Online (Sandbox Code Playgroud)

应用程序/视图/职位/ create.js.erb:

alert("ajax worked!");
Run Code Online (Sandbox Code Playgroud)

我遵循了我在UJS Railscast上看到的内容,但似乎没有任何东西被解雇.不仅如此,萤火虫还没有给我任何关于正在发生的事情的描述性证据.它告诉我它在提交时创建了新的post对象,但没有进一步说明.

有任何想法吗?

kel*_*unn 10

我找到了答案!问题是,当控制器渲染视图时,它包括我的应用程序的整体布局; 布局正在屈服于渲染操作,因此我的.js.erb文件中包含的javascript代码被吐出到我的application.rhtml中.我通过在控制器操作中包含这个来显示我的帖子来解决这个问题:

respond_to do |format|
  format.js {render :layout=>false}
end
Run Code Online (Sandbox Code Playgroud)