If you're going to have mulitple languages for a page then you'd best
do a little bit of database normalisation otherwise you'll end up with
pageBodyFrench, pageBodyItalian, pageBodyGreek, pageBodySwahili etc

You have a model called Language

iso_language_code (see http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes)
language_name

Then you have your Page
page_name_etc

Then you have a many to many model PageLanguageBodyText

language_id
page_id
body_text

Then

Class Language << ActiveRecord::Base
has_many :page_language_body_texts
has_and_belongs_to_many :pages, :through=>:page_language_body_text
end

Class Page << ActiveRecord::Base
has_many :page_language_body_texts
has_and_belongs_to_many :languages, :through=>:page_language_body_text
end

If the linking table had only the foreign keys required for joining
the other two tables then there would be no need for a model, you'd
just create the migration. But in this case you do have extra
information so you have to have a model to access that information
hence

Class PageLanguageBodyText << ActiveRecord::Base
belongs_to :page
belongs_to :language
end

You'd need to tidy up the names a bit.

You'd then have to modify your CMS to allow you to edit the page body
text inside the form for your page, even though it's now been split
out to its own model.

Cheers


John Small


On Jan 2, 2:24 pm, bingo bob <[email protected]> wrote:
> I've got a nice little site running which I rather like. All's running
> tickety boo (the site is English language). It has a rudimentary CMS
> with it, basically I have a page model such that Page.name and Page.body
> exist. I simply allow the user to enter the page name and body and I
> throw the content onto various pages around the site. As I say works
> well.
>
> Next feature - I'd like to do the site in French, German and Spanish as
> well.
>
> So.. my plan is this...
>
> Just update the page model to include Page.name Page.body AND
> Page.bodyFrench, Page.bodyGerman, Page.bodySpanish.
>
> I'd then update my admin views to show text areas for all the new
> languages and allow the user to update them all, that'd work fine I
> think.
>
> How do I implement this though from a browser perspective?
>
> I'd like to put a challenge on the front page of the asking for which
> language the user wants the site. Maybe flags int he time honoured sense
> or whatever.
>
> Thing is though, How do I store this information so that my app knows
> which page to display for this user. I;ve heard of Sessions? but haven't
> used them yet, is that how to do it, any tips or code fragment to get me
> started would be grately apprecaited. wer wer
>
> cheers,
>
> bb
> --
> Posted viahttp://www.ruby-forum.com/.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to