Я знаю, что это глупые вопросы, и у меня есть очень похожие вопросы, но ни один из них не решает мою проблему:
#application.js
//= require jquery
//= require jquery_ujs
//= require_tree .
#form
<%= form_for @comments, :remote => true, do |comment| %>
.....
<% end %>
#controller
def create
@comments = Comment.new params[:posts]
if @posts.save
respond_to do |format|
format.html {render 'something'}
format.js {render :content_type => 'text/javascript', :layout => false}
end
end
#app/view/comment/create.js.erb
alert("hello world, please work!");
С помощью кода я просто хочу добавить комментарии, не обновляя страницуи сообщения добавляются на страницу.В любом случае, когда я отправляю сообщение, оно всегда переходит в строку «reply_to» format.html, которую я понятия не имею, почему.Когда я смотрю на сгенерированную форму, она правильно читается с удаленными наборами данных:
<form accept-charset="UTF-8" action="...." data-remote="true" id="..." method="post"
Когда я смотрю на HTTP, принимаю, что это
HTTP_ACCEPT: "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" even I set the content_type to be text/javascript.
Я обнаружил, что один говорит, чтодобавив charset: content_type => 'text / javascript; charset = UTF-8' поможет, но это не волшебство.
Я также пытаюсь добавить это в application.js, но тоже без магии
$(function() {
$.ajaxSetup({
'beforeSend': function(xhr) {
xhr.setRequestHeader("Accept", "text/javascript");
}
});
});
Кто-нибудь может мне помочь?И, между прочим, ошибки в моем сервере Webbrick показывают «406 недопустимая ошибка что-то».Я действительно разочарован этим.Я подозреваю что-то о типе контента, что я делаю это неправильно ...