jQuery + Ajax + Haml。js.erb文件未触发
我找到了答案!问题是,当控制器渲染视图时,它包括我的应用程序的整体布局。布局正在屈服于渲染动作,因此.js.erb文件中包含的我的javascript代码被吐到了application.rhtml中。我通过将其包含在控制器操作中以显示我的帖子来解决此问题:
respond_to do |format|
format.js {render :layout=>false}
end
阅读了一些经验后,我觉得这个问题可能需要再次提出。在Rails3中编码时,当用户尝试在我的应用程序的另一个元素上创建帖子时,我正在尝试实现一些平滑的Ajax效果。这是我关注的代码:
app / views / posts / new.html.haml
- form_for @post,:remote=>true do |f|
= f.text_area :content
= submit_tag "Post"
app / controllers / post_controller.rb
def create
@comment = Post.new(params[:post])
@comment.save
end
app / views / posts / create.js.erb:
alert("ajax worked!");
我遵循了在UJS Railscast上看到的内容,但是似乎没有任何反应。不仅如此,firebug也无法给我任何有关正在发生的事情的描述性证据。它告诉我,它是在提交后成为新帖子对象的,但没有其他内容。
有任何想法吗?
你可能想看: