wpisuję adres: development/4 i w params[:id] mam 4.
Mam link_to ‘dodaj żądanie’ i jak go klikam wchodzę na stronę development/4/request/new
Kilkam dodaj i do bazy zapisuje tylko to params[:id] 4 i current_user.id. i działa OK.
Jak ten link_to zamienić na link_to_remote ? link_to_function aby nie przechodzić na stronę
development/4/request/new i tam klikać dodaj nowe żądanie, tylko po kliknięciu na stronie
development/4 w link ‘dodaj żądanie’ było to żądanie zapisywane w bazie.
Dodając normalnie to najpierw wywołujemy
new a potem create a w przypadku ajaksa trzeba wywołać new i create za jednym razem i nie wiem jak to zrobić?
I kod który wrzucasz do pliku js, wcześniej dołącz jquery i metadatę:
$(document).ready(function() {
$('#new-request').click(function() {
//użyj pluginu metadata
var development_id = data.development_id
$.ajax({
type: "POST",
dataType: "script",
data: "development_id=" + development_id,
url: "/development/" + development_id + "/request",
success: function(msg) {
//funkcja która coś zrobi, np zmieni liczę
//requestów
//zamiast tego może być template create.js.erb
});
});
return false;
});
});
Do tego w responds_to dodajesz js, które Ci to obsłuży i powinno działać.
Jest to ogólny zamysł, wydaje mi się, że parę rzeczy można ulepszyć, również kodu nie testowałem
Ten request idzie od razu do create, ponieważ, jak rozumiem, nie masz tutaj zadnej formy - a parametr development_id przekazujemy bezpośrednio w skrypcie.