Kodowanie w authlogic, oraz własne pola

Cześć! Pewnie chłopaki zaraz dadzą mi popalić, ale zaryzykuję! ; D Mianowicie. Potrzebuję zmienić kodowanie w authlogic’u na md5 oraz proszę powiedzieć mi, w jaki sposób mogę tworzyć własne pola? Bo jeśli robię (według railscasta)

script/generate nifty_scaffold user username:string email:string password:string new edit

to authlogic automatycznie bierze wszelakie inne zmienne jako część pól w rejestracji, a ja chcę, by one były ukryte i przykładowo domyślnie wynosiły 0. Z góry dziękuje! : )

To nie Autholgic powoduje, że wszystkie pola są widoczne, tylko generator scaffoldu. Wystarczy zmodyfikować plik app/views/users/new.html.erb lub app/views/users/_form.html.erb (jeśli ten drugi jest generowany).

Co do wartości domyślnych to z kolei musisz zmodyfikować migracje (db/migrate) i dodać parametr :default => 0.

[quote=apohllo]To nie Autholgic powoduje, że wszystkie pola są widoczne, tylko generator scaffoldu. Wystarczy zmodyfikować plik app/views/users/new.html.erb lub app/views/users/_form.html.erb (jeśli ten drugi jest generowany).

Co do wartości domyślnych to z kolei musisz zmodyfikować migracje (db/migrate) i dodać parametr :default => 0.[/quote]
Tak też podejżewałem, więc wolałem się upewnić. Więc teraz pozostaje kwestia kodowania, jakieś pomysły? : )

Szybkie sprawdzenie w dokumentacji:
http://rdoc.info/github/binarylogic/authlogic/master
i wychodzi na to że takie coś można zrobić.

acts_as_authentic dO |c| c.crypto_provider = Authlogic::CryptoProviders::MD5 end
Nie testowane, ale powinno być ok.

Tak z czystej ciekawości: dlaczego chcesz hashować dane w MD5, a nie w chociażby SHA-1?

Eksperymentuje.

A chłopaki, jeszcze jedno. Bo mam takie modele (comment i users) i chcę zrobić relacje między nimi. W comment mam pole user o typie integer i chcę, żeby było tam ID użytkownika. I żeby przez to odczytywało nazwę użytkownika (pole name w modelu users). Powiedzcie jak ma wyglądać relacja między nimi, by to funkcjonowało, na razie walczę z belongs_to i has_many, jednak nie idzie po mojej myśli. Czytam książkę Zabiełły i nie zrozumiały (bynajmniej dla mnie) przykład tam jest.

Jeśli można tylko poprzez zapisywanie według nazwy zapisywanej podczas dodawania komentarza, to szkoda.

Pozdrawiam i liczę na szybką odpowiedź.

W takim razie przeczytaj A Guide to Active Record Associations (lub polskie tłumaczenie - Przewodnik po asocjacjach modułu Active Record).

Nie mogłeś napisać jak to ma wyglądać? -.- To zamiast nazwy usera (choć nie mam pojęcia na jakiej zasadzie ma go wyświetlać) zwraca mi to: /

Domyślam się, że jest to spowodowane tym, że news istniał przed zrobieniem relacji, no więc:

[code]a = News.new
a.>> a = News.new
=> #<News id: nil, title: nil, user: nil, intro: nil, body: nil, cached_slug: nil, created_at: nil, updated_at: nil>

a.user = 1
ActiveRecord::AssociationTypeMismatch: User(#-613340578) expected, got Fixnum(#-608719558)
from /home/bangeusz/.gem/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/associations/association_proxy.rb:259:in raise_on_type_mismatch' from /home/bangeusz/.gem/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/associations/belongs_to_association.rb:22:inreplace’
from /home/bangeusz/.gem/ruby/1.8/gems/activerecord-2.3.8/lib/active_record/associations.rb:1287:in `user=’
from (irb):2

a = nil
=> nil

a = User.new
=> #<User id: nil, name: nil, crypted_password: nil, admin: nil, persistence_token: nil, created_at: nil, updated_at: nil>[/code]
Tak wygląda błąd, jak i struktura w bazie.

user != user_id

Człowieku rozumie, że piszesz w dziale “zielona szkoła”, ale ta nazwa nie oznacza “zróbcie za mnie wszystko, bo mi się nie chce przeczytać dokumentacji”.
Ludzie z Rails documentation team wsadzili mnóstwo roboty w to żeby opracować naprawdę świetną dokumentację, która znakomicie nadaje się dla osób początkujących.
Moi studenci (a jako redaktor) też wykonali niezły kawałek roboty, że to przetłumaczyć na polski. Skorzystaj z tego, zamiast podnosić mi ciśnienie.

[quote=apohllo]Człowieku rozumie, że piszesz w dziale “zielona szkoła”, ale ta nazwa nie oznacza “zróbcie za mnie wszystko, bo mi się nie chce przeczytać dokumentacji”.
Ludzie z Rails documentation team wsadzili mnóstwo roboty w to żeby opracować naprawdę świetną dokumentację, która znakomicie nadaje się dla osób początkujących.
Moi studenci (a jako redaktor) też wykonali niezły kawałek roboty, że to przetłumaczyć na polski. Skorzystaj z tego, zamiast podnosić mi ciśnienie.[/quote]
Przemliczę i dziękuję wszystkim, którzy starali się pomóc.

  1. Odpowiedź na Twoje pytanie jest w drugim (2!) akapicie poradnika.
  2. Naprawdę warto przeczytać, te podstawy. Nawet nie tyle warto, co trzeba. Chcesz jeździć, musisz znać znaki drogowe.
  3. My naprawdę lubimy pomagać i odpowiadać na pytania. :slight_smile:
  4. Chodzi o Twój ton i roszczeniową postawę. Przykłady:
  • oraz proszę powiedzieć mi, w jaki sposób mogę
  • Nie mogłeś napisać jak to ma wyglądać
  • Przestańcie mnie denerwować!
  • No! I takiej odpowiedzi oczekiwałem, nie jakieś narzekanie.
  • Cisza! Pomogliście!
    Tak, wiem, że jest tam też gdzieś proszę i dziękuję, ale dla mnie brzmi to w stylu sklepowej z PRLu:

Mi powie, co mam źle w tym kodzie. Niech nie narzeka! No gdzie z tymi butami!

Tu przykład jak może wyglądać dobre pytanie, dobra odpowiedź :wink: i potwierdzenie http://rubyonrails.pl/forum/t3591-Walidacja-nie-zatrzymuje-procesu-wpisywania-do-bazy. (a pytanie dokładnie na poziomie trudności Twojego). Tylko, że w tym przypadku aż się chciało odpowiedzieć.
5) Niestety Twoje zachowanie przypomina mi opisane tutaj: http://generationikea.blox.pl/2010/11/Dzieci-Neostrady-siedza-przed-kompem-i-pornole.html
6) A pracujemy nad Tobą, bo masz zadatki na bycie pozytywnym trolem na tym forum :slight_smile:

Powiem wam, że czytałem dość dużo o tych relacjach - nie wiedziałem gdzie jest błąd, dlatego grzecznie zadałem pytanie, bo widocznie nie widziałem błędu. Problem tkwił w nazewnictwie, jednak nikt nie popatrzył na moją strukture i nie wskazał błędu, tylko od razu. Dzięki, cześć.