Forum: Rails Germany Zeitformatierung im Mailer

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Werner L. (Guest)
on 2009-05-26 21:27
(Received via mailing list)
Hallo.

Mir ist nicht klar warum ich im mailer view erfolglos versuche
Zeitangaben mittel helper zu formatieren.

Error:
  Showing app/views/booking_mailer/booking.erb where line #5 raised:

undefined method `nice_date' for #<ActionView::Base:0x247c3fc>

in allen anderen views klappt das problemlos..

Derzeit behelfe ich mir noch mit:

  Beginn: <%= @seminar.start.strftime(" %d %B %Y, %H:%M")%>

aber das wird dann in englisch also may etc. ausgegeben.


Gruß
Werner


Werner L.
removed_email_address@domain.invalid
Andreas R. (Guest)
on 2009-05-26 21:32
(Received via mailing list)
> aber das wird dann in englisch also may etc. ausgegeben.

Und dafür gibt es mittlerweile eine ganze Reihe Plugins, die sowas
fürDich übernehmen. Eines der populäreren ist Globalize, aber es gibt
eben noch ein paar andere.

http://www.globalize-rails.org/


Andreas R.
Stefan F. (Guest)
on 2009-05-26 21:38
(Received via mailing list)
hmm, nichts gegen globalize, aber ist das nicht überholt (schließlich
ist es "compatible with the latest shiny & jaw-dropping Ruby on Rails
1.2"): Man mag von diesen ganzen Plugins halten was man will, einige
davon sind vielleicht eleganter und haben mehr features, aber seit
einiger Zeit gibt's i18n auch eingebaut
(http://guides.rubyonrails.org/i18n.html
) - und wenn's nur darum geht, ein Datum/Timestamp zu formatieren,
dann geht das auch mit Bordmitteln allemal...

Grüße
stefan



Am 26.05.2009 um 19:31 schrieb Andreas R.:

> _______________________________________________
> rubyonrails-ug mailing list
> removed_email_address@domain.invalid
> http://mailman.headflash.com/listinfo/rubyonrails-ug

----
stefan frank
vierundsechzig.de
software&service
weberstr. 10
69120 heidelberg
tel. +49 (0) 6221 7277049
mobil +40 (0) 173 2383390
mail removed_email_address@domain.invalid
www.vierundsechzig.de
Andreas R. (Guest)
on 2009-05-26 22:02
(Received via mailing list)
> hmm, nichts gegen globalize, aber ist das nicht überholt (schließlich ist es
> "compatible with the latest shiny & jaw-dropping Ruby on Rails 1.2"): Man
> mag von diesen ganzen Plugins halten was man will, einige davon sind
> vielleicht eleganter und haben mehr features, aber seit einiger Zeit gibt's
> i18n auch eingebaut (http://guides.rubyonrails.org/i18n.html) - und wenn's
> nur darum geht, ein Datum/Timestamp zu formatieren, dann geht das auch mit
> Bordmitteln allemal...

Naja. Sicher. Aber letztendlich kommt man häufig vom Hundertsten ins
Tausende und stellt dann später fest, dass das, was man da über eine
gewisse Zeit hinweg so hingehackt hat, genau von einem der vielen
Plugins bereits gelöst wurde. Da ist nun die I10n ein schlechtes
Beispiel, klar.


Andreas R.
Werner L. (Guest)
on 2009-05-27 11:18
(Received via mailing list)
Am 26.05.2009 um 20:00 schrieb Andreas R.:

Soweit danke...


>
> Naja. Sicher. Aber letztendlich kommt man häufig vom Hundertsten ins
> Tausende und stellt dann später fest, dass das, was man da über eine
> gewisse Zeit hinweg so hingehackt hat, genau von einem der vielen
> Plugins bereits gelöst wurde. Da ist nun die I10n ein schlechtes
> Beispiel, klar.

meine eigentliche Frage warum das im MailerView nicht klappt, bleibt
erst mal offen..

Ich nutze zwar generell die Zeit/Datum Formatierung die in locales/
de.yml liegt.
Geholfen hat dann eine date.rb die ich in die lib gelegt habe.

silence_warnings do
   Date::MONTHNAMES = [nil] + %w(Januar Februar März April Mai Juni
Juli August September Oktober November Dezember)
   Time::MONTHNAMES = Date::MONTHNAMES
end

class Time
   alias_method :strftime_old, :strftime
   def strftime(format)
     format = format.dup
     format.gsub!(/%B/, Date::MONTHNAMES[self.mon])
     self.strftime_old(format)
   end
end

Gruß
Werner



Werner L.
removed_email_address@domain.invalid
Urban H. (Guest)
on 2009-05-27 12:03
(Received via mailing list)
Werner L. wrote:

> meine eigentliche Frage warum das im MailerView nicht klappt, bleibt
> erst mal offen..

AFAIK sind helper nicht in Mailer Views verfuegbar. Siehe zB [1].
Folgender Thread [2] auf dieser Liste ist zwar etwas alt koennte dir
aber helfen wenn du die Helper wirklich im View werden willst.

Urban

[1] http://blog.viarails.net/2008/2/26/one-thing-i-hat...
[2]
http://www.mail-archive.com/removed_email_address@...
Werner L. (Guest)
on 2009-05-27 12:11
(Received via mailing list)
Am 27.05.2009 um 10:02 schrieb Urban H.:

>
> [1] http://blog.viarails.net/2008/2/26/one-thing-i-hat...
> [2] http://www.mail-archive.com/removed_email_address@...


Danke Urban.. das ist hilfreich..

Gruß
Thomas r. K. (Guest)
on 2009-05-27 12:27
(Received via mailing list)
Am 27.05.2009 um 10:02 schrieb Urban H.:

> Werner L. wrote:
>
>> meine eigentliche Frage warum das im MailerView nicht klappt,
>> bleibt erst mal offen..
>
> AFAIK sind helper nicht in Mailer Views verfuegbar. Siehe zB [1].
> Folgender Thread [2] auf dieser Liste ist zwar etwas alt koennte dir
> aber helfen wenn du die Helper wirklich im View werden willst.

Wird sich aber mit Rails 3.0 ändern hat DHH gesagt.

ciao, tom

--
Thomas R. "TomK32" Koll || http://tomk32.de || http://ananasblau.com
just a geek trying to change the world
Skype: TomK32 || Mail: removed_email_address@domain.invalid
http://flickr.com/people/tomk32
Stefan Feigl (Guest)
on 2009-05-27 15:19
(Received via mailing list)
also ich hatte das problem auch unnd habs so "lösen" können in dem ich
einfach im helper verzeichnis eine datei namens service_mail_helper.rb
erstellt habe.
so kann ich sämtliche eigenen helper in der mailer view verwenden.
nehm an wenn ich dort was include, kann ich andere helper auch im mailer
view verwenden.
lg


Am Mittwoch, den 27.05.2009, 10:11 +0200 schrieb Werner L.:
This topic is locked and can not be replied to.