Rails 4.2 uygulamasını Rails 5.1'e taşımaya çalışıyorum. Raylarda 4.2 biz ağır JQuery kullandık. Şu anda formları yapmaya çalışıyorum, remote: true
özniteliği düzgün çalışıyor. Örnek olarak kullanıcının ülkeyiraylar 5, uzak: gerçek form boş veri
= simple_form_for(:user_data,
url: user_path(@user),
remote: true,
method: :patch,
data: {'user-update' => true},
dataType: 'json',
html: wrapper: :horizontal_form) do |f|
.panel.panel-default
.panel-body
.col-md-8
= f.input :country, label: 'Country',
= f.button :submit
Ben respond_to
ile js
tepki biçimini eklemeye çalıştık
def update
@user.update!(user_params)
render json: @user
end
denetleyicisi seçmek basit bir şeklidir, fakat bu durumda o dönüştürmek çalışır Yürütülebilir javascript için @user
. olay işleyicisi itibariyle bu
$('form[data-user-update]')
.on('ajax:success', function(e, data, status, xhr) {
// The data variable is empty
})
.on('ajax:error', function(e, error, status, xhr) {
$('.simple_form').renderFormErrors('user_data', error.responseJSON);
});
EDIT'e
Tepki Başlığı
HTTP/1.1 200 OK
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
X-Content-Type-Options: nosniff
Content-Type: application/json; charset=utf-8
ETag: W/"f53889092c58dc37054386c9504ad1ff"
Cache-Control: max-age=0, private, must-revalidate
X-Request-Id: 712b59ff-8011-4b10-a905-83e559b47452
X-Runtime: 0.101165
Transfer-Encoding: chunked
talep Başlık
Accept:text/javascript, application/javascript, application/ecmascript, application/x-ecmascript, */*; q=0.01
Accept-Encoding:gzip, deflate, br
Accept-Language:en-US,en;q=0.8,et;q=0.6
Connection:keep-alive
Content-Length:71
Content-Type:application/x-www-form-urlencoded; charset=UTF-8
Host:localhost:3000
Origin:http://localhost:3000
Referer:http://localhost:3000/users/470d573b-b0f1-4822-b036-7d37be6672d6
X-Requested-With:XMLHttpRequest
Tepki
benziyor{
firstName:'John',
lastName: 'Smith',
country: 'USA'
}
geri raylar-ujs değiştirmektir, bu işlevselliği dayanarak kod biraz var ise? (Chrome'da, "ağ" sekmesinde, uzaktaki formu gönderin, isteği bulun ve HTTP req/res'yi analiz edin) – MrYoshiji
@MrYoshiji, "ajax: success' geri çağrısına bir hata ayıklayıcı" yerleştirdiyseniz lütfen –
numaralı güncelleştirmeye bakın, "e", "data" vb. için herhangi bir değer görebiliyor musunuz? – MrYoshiji