我正在尝试创建一个评论页面,其中评论是用AJAX提交的,我正在使用Rails 3,而在我的form_for块中我正在设置:remote =>真正。看看Chrome开发人员工具,我可以看到服务器将页面create.js.erb作为text / javascript返回,但是javascript没有被执行。
commentable_controller
def create
@commentable = Commentable.new
@commentable.body = params[:body]
@commentable.user = current_user
if @commentable.save
respond_to do |format|
format.js
end
end
end
create.js.erb
alert("hello world");
show.html.haml
#feed
=render :partial => "commentable/commentable", :collection => @commentables
-form_tag('/commentable/create', :remote => true) do
=hidden_field_tag :game_id, @game.id
=text_area_tag :body, nil, :rows => 3, :value => "160 Characters", :id => 'new_message'
=submit_tag "Post"
编辑:
在进一步研究之后,我可以看到请求是以HTML格式进行的,这是不正确的。显然这与Rails 3使用的原型版本有关... wtf rails
答案 0 :(得分:0)
你是否为rails3正确安装了jquery?例如。使用jquery-rails gem它非常简单。只需将gem添加到Gemfile
并输入
rails g jquery:install
然后你做的应该只是工作。