2012-03-16 20 views
14

Rozumiem, że został wciągnięty w osobny klejnot, ale jaki jest tego powód? Czy to tylko kwestia usprawnienia Railsów, czy też jest jakiś powód, dla którego powinienem być zmęczony funkcją auto_link?Dlaczego funkcja auto_link była przestarzała w Railsach?

(Klejnot mówi, że ma na celu „wypełnienia luki dla osób migrujących”, co sugeruje mi, że jeśli będę wprowadzenie rails_autolink do nowego projektu, muszę być robi coś źle, nie?)

dzięki,

+0

Ponieważ nie jest dobrą praktyką użycie 'auto_link' dla większości aplikacji. Podczas gdy niektóre zastosowania 'auto_link' mogą być na miejscu, większość jego zastosowań w większości aplikacji nie jest i należy to zrobić w inny sposób. – yfeldblum

+6

Na ryzyko pojawienia się tępy, muszę zapytać: dlaczego jest to zła praktyka? Czy to jest kwestia bezpieczeństwa czy coś? lepiej wykryć linki ręcznie z jakiegoś powodu? W moim przypadku chcę, aby komentarze przesłane przez użytkowników zawierały linki na żywo, więc ułatwiłoby to życie. Dzięki – doublea

+4

Jeśli uważasz, że jest to właściwe dla twojego wniosku w szczególności, ze względu na szczególne szczegóły twojej aplikacji, to wszelkimi sposobami. Ta konkretna część twojej konkretnej aplikacji brzmi jak jeden taki specjalny przypadek, w którym byłoby właściwe użycie 'auto_link'. Ogólnie rzecz biorąc, tylko niektóre aplikacje powinny go używać, a nie większość. Railsy powinny mieć tylko te rzeczy, których większość aplikacji używa, powinno używać lub może używać, ale ponieważ 'auto_link' nie jest jedną z tych rzeczy, zostało usunięte z Rails. – yfeldblum

Odpowiedz

20

Od popełnić gdzie auto_link został usunięty, Aaron Patterson (tenderlove) wyjaśnia, w komentarzach:

Niestety metoda ta jest niezwykle trudno zabezpieczyć prawidłowo. Upewnienie się, że ta metoda jest niezawodna, wymaga szybszego cyklu wydawania niż w przypadku szyn. Dlatego przenieśliśmy go do klejnotu. Użyj klejnotu, jeśli potrzebujesz funkcjonalności! :-)

https://github.com/rails/rails/commit/81cfbf4146d3c5a58054b64112b8ce196f2fc061

Każda poprawka zabezpieczeń wymaga jedynie aktualizacji jeden gem, zamiast 6 na szynach.

Powiązane problemy