Problem z przekazywanie parametrów z checkboxa

Witam ponownie :slight_smile:
Mam taki mały problemi z przekazywaniem parametrów z checkboxa.
Używam sobie takiej starej wersji ext_scaffolda no i on mi ładnie generuje checkboxa jako prawdziwego checkboxa oraz ukryty parametr (żaby nie było problemu z niezaznaczonym checkboxem).

var post_form_items = [ { fieldLabel: 'Title', xtype: 'textfield', name: 'post[title]'}, { fieldLabel: 'Body', xtype: 'textarea', name: 'post[body]'}, { fieldLabel: 'Published', xtype: 'checkbox', inputValue: '1', width: 18, height: 21, name: 'post[published]'},{ xtype: 'hidden', value: '0', name: 'post[published]' } ];
no i jest niestety tak że do controlera zawsze przychodzi wartość post[published] zerowa, niezależnie od tego czy checkbox jest zaznaczony czy też nie.

natomiast jak podglądam reqest ajaxowy to tam jest ładnie wszystko wysyłane.

_method PUT
authenticity_token jy2Tyu0QIMydD+RSTEqIo7CR11eY9ZjqCcKlt4e5Bxo=
post[title] dasda
post[body] bla bla bla 6666
post[published] 1
post[published] 0

co robię źle :)?

z góry dziękuje za odpowiedz
pozdrawiam
krzysiek

Masz racje, w ajaksie jest wszystko ładnie wysyłane, ale post[published] jest wysyłane dwa razy. Za pierwszym razem ma wartość 1 (to zaznaczyłeś), a za drugime razem 0, i potem w kontrolerze masz dostęp do tej ostatnie własności. Czyli błąd jest w tym, że dajesz tego hidden o id published, który Ci nadpisuje wynik z checkboksa

Obawiam się że ma nazywać się dokładnie tak samo :slight_smile:
Zobacz sobie

Rzeczywiście, masz racje, moja nie wiedza. Niestety nie mam na to żadnego pomysłu, czego się tak dzieje i jak to naprawić. W świetle linku który przedstawiłeś, powinno być git.

zakladam ze relacja HABTM

class Car < ActiveRecord::Base has_and_belongs_to_many :colors end

class Color < ActiveRecord::Base has_and_belongs_to_many :cars end
a masz takie coś w kontrolerze??

po stronie samochodu:

@car = Car.new(params[:car]) @car.color_ids = params[:car][:color_ids] ||= []
po stronie kolorow bedzie dokladnie tak samo, tylko ze inaczej ;D

@color = Color.new(params[:color]) @color.car_ids = params[:color][:car_ids] ||= []
oczywiście to jest dla akcji create,
dla update’a zamiast Samochod.new musisz dać find

mam nadzieje, że to pomoze

[quote=phocke]zakladam ze relacja HABTM

class Car < ActiveRecord::Base has_and_belongs_to_many :colors end

class Color < ActiveRecord::Base has_and_belongs_to_many :cars end
a masz takie coś w kontrolerze??

po stronie samochodu:

@car = Car.new(params[:car]) @car.color_ids = params[:car][:color_ids] ||= []
po stronie kolorow bedzie dokladnie tak samo, tylko ze inaczej ;D

@color = Color.new(params[:color]) @color.car_ids = params[:color][:car_ids] ||= []
oczywiście to jest dla akcji create,
dla update’a zamiast Samochod.new musisz dać find

mam nadzieje, że to pomoze[/quote]
a czy nie pomyliłeś postów :slight_smile:

Nie znam tego pluginu, ale spróbuj jeszcze parametry podać tak aby najpierw w kodzie pojawił się input ukryty a później checkbox, w stylu:

<input name="post[published]" type="hidden" value="0" /><input id="post_published" name="post[published]" type="checkbox" value="1" />

wtedy będzie wysłany request:

_method PUT authenticity_token jy2Tyu0QIMydD+RSTEqIo7CR11eY9ZjqCcKlt4e5Bxo= post[title] dasda post[body] bla bla bla 6666 post[published] 0 post[published] 1

[quote=fastred]Nie znam tego pluginu, ale spróbuj jeszcze parametry podać tak aby najpierw w kodzie pojawił się input ukryty a później checkbox, w stylu:

<input name="post[published]" type="hidden" value="0" /><input id="post_published" name="post[published]" type="checkbox" value="1" />

wtedy będzie wysłany request:

_method PUT authenticity_token jy2Tyu0QIMydD+RSTEqIo7CR11eY9ZjqCcKlt4e5Bxo= post[title] dasda post[body] bla bla bla 6666 post[published] 0 post[published] 1
[/quote]
Hej,
Witam po małej przerwie, tak działa znakomicie, tyle że ext jak mu tak podam to zawsze renderuje puste pole :wink:
Tak więc i tak źle i tak niedobrze.
Exta raczej nie pozmieniam, niemniej mógłbym railsy, tak żeby niezależnie od kolejności dobrze działały.
Tylko debuguje i debuguje, i nie mogę znaleść kodu gdzie jest odczytywana z requesta tablica parametrów ??
Ktoś pomoże?
Pozdrawiam
Krzysiek