in meinen Schienen 3 Anwendung aufgerufen wird, gibt es ein select_tag mit einer Onchange Veranstaltung, die einen Ajax-Request sendet:js.erb nur auf erstes Mal
f.select 'forma_id', @collection, {:include_blank => true}, {:onchange => "goAjax('/lancamentos/receber_forma', this.value)", :class => 'btn'}
wo goAjax ist :
function goAjax(_url, _value) {
$.ajax({url: _url, data: 'value=' + _value, dataType: 'script'})
}
lancamentos_controller # receber_forma ist (vereinfachte Version):
def receber_forma
@lancamento = Lancamento.new(:forma_id => params[:value])
logger.info 'forma_id = ' + @lancamento.forma_id
respond_to do |format|
format.html { render :new }
format.js
end
end
und receber_forma.js.erb:
$('div#cartoes').replaceWith("<%= escape_javascript(label_tag(@lancamento.forma_id)) %>");
, was passiert ist, dass wenn ich einen Wert an diesem wählen wählen, wird der Wert auf dem Etikett wiedergegeben ist immer der Wert gesendet auf erster Aufruf. Die folgenden Wertänderungen ändern den Beschriftungstext einfach nicht. Der Logger in der Methode recent_forma zeigt, dass der neue ausgewählte Wert immer gesendet wird.
Jemand weiß, was ich hier falsch mache ??
p.s.:sorry Fehler der englischen
Dank Dylan ... lösten das Problem !!! – thaleshcv