Ruby on rails Rails 4 ajax调用未到达正确的控制器
我有一个rails 4项目。 在views/users/index.html.erb页面中,我有一个ajax调用:Ruby on rails Rails 4 ajax调用未到达正确的控制器,ruby-on-rails,ajax,Ruby On Rails,Ajax,我有一个rails 4项目。 在views/users/index.html.erb页面中,我有一个ajax调用: $ -> sendMessage = () -> email = $('#contact-email').val() subject = $('#contact-subject').val() body = $('#contact-body').val() data = "email": email
$ ->
sendMessage = () ->
email = $('#contact-email').val()
subject = $('#contact-subject').val()
body = $('#contact-body').val()
data =
"email": email
"subject": subject
"body": body
"authenticity_token": $('input[name=authenticity_token]').val()
$('#ajax-contact-form').hide()
$('.contact.success-message').html("Thank you, #{email}. We'll be in touch.")
posting = $.ajax '/contacts',
type: 'POST'
data: JSON.stringify(data)
dataType: 'json'
contentType: 'application/json'
posting.done (data) ->
console.log "done"
$('#ajax-contact-form').on 'submit', (e) ->
e.preventDefault()
sendMessage()
当我单击按钮时,我可以看到控制台上的完成,以及正确传递的表单。但在终端中,似乎是用户#控制器#索引功能,而不是联系人#控制器#创建。
以下是路线:
post 'contacts' => 'contacts#create', as: :contact, defaults: { format: :json }
它不在该控制器/功能内
路线:
contact POST /contacts(.:format) contacts#create {:format=>:json}
})ajax调用中请求的url是:Request url:因此肯定缺少一些内容。您能否向我们展示
rake路由
和更多JS?您需要删除“/contacts”,并将其添加为url。i、 e url:“/contacts”,键入:“POST”……它通常是这样工作的,我的意思是在语法方面,我认为这可能更像是一个路由问题(绝对或非绝对),我想知道它是否将“/contacts”添加到初始路由“/users/index”?这是登录问题吗?用户是否已登录?
$.ajax({
url: '/contacts',
type: 'POST',
data: JSON.stringify(data),
dataType: 'json',
contentType: 'application/json'