Formularze: ukryte pola czy przepisywanie w kontrolerze?

Witam,
mam formularz który posiada kilka pól ukrytych, np. obecnie o zalogowanym użytkownik: login, imię nazwisko.
Zastanawiam się czy lepiej przesyłać te dane w ukrytych polach formularze czy do kontrolera przesłać ID użytkownika i tam ustawiać wartości?

Co jest bardziej “the Ruby way”?

ps. w modelu docelowym nie wystarczy referencja do użytkownika, potrzebuję informacji o stanie obiektu w danym momencie i kopia kilku kolumn jest lepsza od wersjonowania/diffów.

Dzięki

Jeśli jest to obecnie zalogowany użytkownik, to nic nie musisz przekazywać do kontrolera w formularzu. Jeśli używasz devise, masz zapewne w kontrolerze metodę current_user która zwróci Ci aktualnie zalogowanego użytkownika.

Nie rozumiem drugiej części wypowiedzi o diffach i wersjonowaniu.

Możliwe że chcesz coś zrobić bardzo bardzo źle.

Zdecydowanie lepiej (i Ruby Way) jest to zrobić bez ukrytych pól, nigdy nie możesz być pewien, że wartości w ukrytych polach, to te, które wygenerowała aplikacja.

[quote=hubertlepicki]Jeśli jest to obecnie zalogowany użytkownik, to nic nie musisz przekazywać do kontrolera w formularzu. Jeśli używasz devise, masz zapewne w kontrolerze metodę current_user która zwróci Ci aktualnie zalogowanego użytkownika.

Nie rozumiem drugiej części wypowiedzi o diffach i wersjonowaniu.

Możliwe że chcesz coś zrobić bardzo bardzo źle.[/quote]
zgadza się z zalogowanym użytkownikiem, chyba zbyt trywialnie postawiłem pytanie

Mam w jeszcze jeden model z którego potrzebuję dane, w formularzu mogę przekazać:

  1. ID obiektu do kontrolera
  2. konkretne wartości atrybutów w ukrytych polach formularza

Obydwa rozwiązania zadziałają, nie wiem tylko które lepsze.

Druga część nie była częścią pytania tylko wyjaśnieniem żeby dyskusja nie zeszła na złe tory.

chyba jestem skazany na minimum jedno ukryte pole: ID obiektu, żeby docelowa metoda mogła zdobyć potrzebne dane. W tym przypadku kosztem prostego widoku zrobi się gruby kontroler.

A o metodzie “session” (w kontrolerze) to kolega słyszał? Bo odnoszę wrażenie, że nie. http://apohllo.pl/texts/7_wyklad_kontroler.pdf - obsługa sesji.

chyba jestem skazany na minimum jedno ukryte pole: ID obiektu, żeby docelowa metoda mogła zdobyć potrzebne dane. W tym przypadku kosztem prostego widoku zrobi się gruby kontroler.[/quote]
A o metodzie “session” (w kontrolerze) to kolega słyszał? Bo odnoszę wrażenie, że nie.[/quote]
mea culpa! wyłączyło mi się myślenie.

Nigdy nie ufaj wartościom, które dostajesz w parametrach. Obojętnie czy z jawnych pól, czy ukrytych, czy z przekierowań, etc.

:slight_smile: