Trouble getting child table information based on locale

I have two tables

manufacturers manuf_details (details are in several languages)
id id
name manufacturer_id
. details
. locale
.

I have two models

Manufacturer Manuf_details
has_one :manuf_detail belongs_to :manufacturer

I want to get all the info from the manufacturers table and the details
from the manuf_details table for a specific locale and manufacturer.

In the controller I have the following:

@manufacturer = Manufacturer.find(:first, :conditions => {:id =>
params[:id]})

In the view I have the following

<%= @manufacturer.name %>
<%= @manufacturer.manuf_detail.details%>

Rails automatically generates the sql to get the info from the details
table for the view as in:
SELECT * FROM manuf_descriptions WHERE
(manuf_descriptions.manufacturer_id = 4) LIMIT 1

But what I need is it to generate the following:
SELECT * FROM manuf_descriptions WHERE
(manuf_descriptions.manufacturer_id = 4AND ‘manuf_descriptions’.locale
= ‘EN’) LIMIT 1

Or if the user selected say FRENCH it would be
SELECT * FROM manuf_descriptions WHERE
(manuf_descriptions.manufacturer_id = 4AND ‘manuf_descriptions’.locale
= ‘FR’) LIMIT 1

I tried to do a join as in the following:

find(:first, :joins => :manuf_description, :conditions => {:id =>
manufacturer_id, :manuf_descriptions => {:locale => I18n.locale}})

however this does not help because the line

<%= @manufacturer.manuf_detail.details%> in the view still gets
generated by rails into

SELECT * FROM manuf_descriptions WHERE
(manuf_descriptions.manufacturer_id = 4) LIMIT 1

How can I solve this?

Thank you in advance

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs