Не могу понять в чем беда. Отправляю ajax'ом данные
$(document).ready(function() {
$("#btn").click(function(event) {
event.preventDefault();
$.ajax({
type: 'POST',
url: '/moods',
data: 'rating=4&remark=Boston'
});
});
});
В логах вижу:
D, [2017-07-19T23:08:22.527103 #19660] DEBUG -- : (0.4ms) BEGIN
D, [2017-07-19T23:08:22.542988 #19660] DEBUG -- : SQL (1.0ms) INSERT INTO "moods" ("created_at", "updated_at") VALUES ($1, $2) RETURNING "id" [["created_at", "2017-07-19 20:08:22.527600"], ["updated_at", "2017-07-19 20:08:22.527600"]]
D, [2017-07-19T23:08:22.566071 #19660] DEBUG -- : (22.1ms) COMMIT
D, [2017-07-19T23:08:22.567071 #19660] DEBUG -- : (0.4ms) BEGIN
D, [2017-07-19T23:08:22.568624 #19660] DEBUG -- : (0.3ms) COMMIT
127.0.0.1 - - [19/Jul/2017:23:08:22 +0300] "POST /moods HTTP/1.1" 303 - 0.2144
127.0.0.1 - - [19/Jul/2017:23:08:24 +0300] "GET / HTTP/1.1" 200 3714 0.1664
Т.е. парамсы
rating=4&remark=Boston
не пришли.
+ возвращает 303 статус? почему, я же направляю запрос в экшн
/moods
, т.е. мой create.
проблема в том, что данные в принципе не доходят до экшна. убираю ajax и все нормально работает.
post '/moods' do
@mood = Mood.create(params[:mood])
if @mood.save
redirect :'/'
else
redirect :'/'
end
end
В общем, в чем тут беда?