Witam, mam formularz który wypełniam, ale następny jest podobny w jaki sposób po przekierowaniu po wypełnieniu takiego formularza na stronę dajmy na to jakiegoś produktu mogę dać przycisk “Stwórz Podobny”. Jaki jest najprostszy sposób na to w Railsach?
@my_model = MyModel.new(MyModel.find(:id).attributes)
Metoda attributes na instancji modelu zwraca hasha z wartościami atrybutów, który świetnie pasuje do metody new lub create modelu.
użyc clone w rails3.0 lub dup w rails3.1 [jeśli dobrze pamiętam]. Dostajesz nowy obiekt, który będzie miał te same atrybuty lecz pozbawiony będzie id przez co jest traktowany jako “nowy”.
+1 dla rozwiązania zaproponowanego przez paneq’a.
btw: Clone był już w 2.3.x o ile mnie pamięć nie myli.
Super dzięki za pomoc.
Nie mówię, że nie było ale zwracam uwagę na to, że między Railsami 3.0 a 3.1 zmieniła się semantyka clone i dup