سؤال

وأنا باستخدام أحدث globalize2 ودرابزون 2.2. أنا أتساءل عما إذا كان ما يلي هو علة أو ميزة: يبدو أن هناك استعلام ديسيبل منفصل لكل عنصر في مجموعة بيانات للحصول على الترجمة. لا صوت الحق لأنه قد يؤدي بسهولة في مئات من الاستعلامات.

والتوضيح. تحكم بسيط:

def index
    @menu_sections = MenuSection.find(:all)
end

وثم يحلقmenu_sections خلال في الرأي، حيث يتمركز السمة (اسم) ويسمى:

  <% @menu_sections.each do |menu_section| %>
    <p><%= link_to menu_section.name, :controller => 'store', :action => 'list_menu_items_for_section', :section_id => menu_section.id %></p>
  <% end %>

ويبدو كل النتائج menu_section.name في الاستعلام ديسيبل:

Processing StoreController#index (for 10.0.2.2 at 2009-03-02 16:05:53) [GET]
  Session ID: 468f54928cbdc0b19c03cfbd01d09fa9
  Parameters: {"action"=>"index", "controller"=>"store"}
  MenuSection Load (0.0ms)   SELECT * FROM `menu_sections`
Rendering template within layouts/store
Rendering store/index
Rendered application/_js_includes (0.0ms)
  MenuSection Columns (0.0ms)   SHOW FIELDS FROM `menu_sections`
  MenuSectionTranslation Load (0.0ms)   SELECT * FROM `menu_section_translations` WHERE (`menu_section_translations`.menu_section_id = 1 AND (`menu_section_translations`.`locale` IN ('en','root')))
  MenuSectionTranslation Columns (0.0ms)   SHOW FIELDS FROM `menu_section_translations`
  MenuSectionTranslation Load (0.0ms)   SELECT * FROM `menu_section_translations` WHERE (`menu_section_translations`.menu_section_id = 2 AND (`menu_section_translations`.`locale` IN ('en','root')))
  MenuSectionTranslation Load (0.0ms)   SELECT * FROM `menu_section_translations` WHERE (`menu_section_translations`.menu_section_id = 3 AND (`menu_section_translations`.`locale` IN ('en','root')))
Completed in 340ms (View: 320, DB: 0) | 200 OK [http://www.dev.babooka.com/store]

ما رأيك؟ ربما هناك طريقة أفضل لترجمة البيانات ديسيبل في القضبان؟

هل كانت مفيدة؟

المحلول

ويمكنك إنجاز ما نحاول القيام به بقوله شيئا مثل:

def index
    @menu_sections = MenuSection.find(:all,:include=>:globalize_translations)
end

وهذا الحمل سوف حريصة على ترجمة، لذلك، لن يكون هناك سوى 2 استفسار.

نصائح أخرى

وأنا don'k أعرف إذا كنت reslove هذه القضية. لكنني واجهت نفس المشكلة. لي ترجمة عمود واحد فقط من الجدول (ويقول العنوان). إذا كان لدي 100 صف في جدول وإذا كنت تفعل استعلام على هذا النحو للغة معينة:

والصفوف = Category.find (: قبل كل شيء، .....)

ووسوف يؤدي في 101 استفسار عن قاعدة البيانات !! ولست متأكدا إذا كان من المتوقع أو المقصود من قبل المصمم من عولمة هذا.

وOR أنا في عداد المفقودين شيء (مثل معلمة التكوين اختياري على الاستعلام).

ولكن لم أجد حلا بديلا التي كتبها سايمون مور الذي نفذ تنفيذ البديل للعولمة نموذج تسجيل. يمكنك أن تقرأ عن ذلك على العنوان التالي:

http://saimonmoore.net/2006 / 12/1 / بديل التنفيذ من بين عولمة-نموذج ترجمة

ولكن لا أستطيع أن أجد أي إشارة إذا كان هذا يعمل مع Globalize2.

وأنا في نقطة ضاربا عرض الحائط Globalize2 المساعد ولفة حل بلدي باستخدام مكتبة روبي I18N.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top