0
嗨我很熟悉Ruby on Rails,也許這是一些容易的事情,我沒有在書中得到,但我試圖得到一個Ajax的JS響應,我不斷得到HTML。爲什麼我得到html ajax響應而不是javascript? (Ruby on rails)
我的看法如下new.html.erb:
<% form_for(resource, :as => resource_name,
:remote => true, :url => registration_path(resource_name)) do |f| %>
<%= f.label :name %><br />
<%= f.text_field :name %>
<%= f.submit "Sign Up" %>
<% end %>
我的控制器:registrations_controller.rb
# POST /resource
def create
build_resource
if resource.save
if resource.active?
set_flash_message :notice, :signed_up
sign_in_and_redirect(resource_name, resource)
else
set_flash_message :notice, :inactive_signed_up, :reason => resource.inactive_message.to_s
expire_session_data_after_sign_in!
redirect_to after_inactive_sign_up_path_for(resource)
end
else
clean_up_passwords(resource)
respond_to do |format|
format.html
format.js
end
end
end
我的application.js部分:
jQuery.ajaxSetup({
'beforeSend': function(xhr) {xhr.setRequestHeader("Accept", "text/javascript")}
})
$(document).ready(function() {
$("#user_submit").submit(function() {
$.post($(this).attr("action"), $(this).serialize(), null, "script");
return false;
})
})
我創建.js.erb只是一個簡單的
alert('ok');
我已覆蓋設計註冊表單和控制器。我一直使用create.html.erb代替create.js.erb
ps:因爲我對RubyonRails相當陌生,歡迎提供任何評論。