Привет, я довольно хорошо знаком с Руби на рельсах, возможно, это простая вещь, которую я не нашел в книге, но я пытаюсь получить ответ ajax js, и вместо этого я продолжаю получать html.
Мои взгляды следующие 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;
})
})
Мой create.js.erb - это просто
alert('ok');
Я переопределил регистрационную форму Devise и контроллер.Я продолжаю получать create.html.erb вместо create.js.erb
ps: поскольку я довольно новичок в RubyonRails, любые комментарии приветствуются.