Michal Zugec write:
> On 26.02.2010 13:22, Josef Reidinger wrote:
> > Michal Zugec write:
> >> On 26.02.2010 12:36, Michal Zugec wrote:
> >>> Hi!
> >>> I'd like to share my observation:
> >>> I needed to share my javascript code between two files (it was form
> >>> validation for new and edit action + some more)
> >>> I created
> >>> webyast-users-ui/plugins/users/public/javascripts/users_edit.js
> >>>
> >>> and included it into my files with <%= javascript_include_tag
> >>> "users_edit.js" %>
> >>>
> >>> It's important to use $pluginname as prefix to be unique in whole project!
> >>>
> >>> That's it ...
> >>>
> >>> Bye,
> >>> Michal
> >>>
> >>
> >> And jsuchome pointed me to one ugly fact : strings are not translatable.
> >> That's because .js file is not interpreted by rails (to apply
> >> translation into <%= _("sometext") %>), it's just send as it is.
> >> Any idea how to translate such string?
> >>
> >> Bye,
> >> Michal
> >>
> >>
> >>
> > 
> > Reason is simple, you add javascript to public directory which is jsut 
> > served. I already look at this issue (not-supported browser js has same 
> > problem)  and for me the best solution is to pass from view as parameter 
> > translated string as I don't see how we can use dynamic generated js 
> > elegant and clean.
> > 
> 
> Put string as a parameter? No, this makes code really ugly!
> Just untested idea: what about rename file.js into file.js.rb (which is
> interpreted and strings are replaced) - is it valid to include script
> with .js.rb instead of .js?
> 
> 

It works if you place it at another place, because public is not executed. It 
is just served.
But what do same work for you is partial. define your javascripts in partial 
and render that partial. It do what you need. Also consider if more modules 
could benefit from your javascripts. If so then place it in base and announce 
it so we do not need to do same thing again.

-- 
Josef Reidinger
YaST team
maintainer of perl-Bootloader, YaST2-Repair, parts of webyast
-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to