Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3 向Rails应用程序添加了希伯来文配置语言环境文件,但数据库未加载配置文件_Ruby On Rails 3_Internationalization - Fatal编程技术网

Ruby on rails 3 向Rails应用程序添加了希伯来文配置语言环境文件,但数据库未加载配置文件

Ruby on rails 3 向Rails应用程序添加了希伯来文配置语言环境文件,但数据库未加载配置文件,ruby-on-rails-3,internationalization,Ruby On Rails 3,Internationalization,更新- 它正在使用这个插件-(5岁) 将翻译存储在模型的表中 我现在想继续讨论这个问题- 我负责将应用程序翻译成希伯来语 它是用“rails”、“3.0.19”编写的 在ruby 1.8.7中 我使用了一个模板 在my config/locales/he-IL.yml中 在我的模式中的我的语句表中 create_table "statements", :force => true do |t| t.text "name_en_us" t.integer "st

更新-

它正在使用这个插件-(5岁) 将翻译存储在模型的表中 我现在想继续讨论这个问题-


我负责将应用程序翻译成希伯来语 它是用“rails”、“3.0.19”编写的 在ruby 1.8.7中

我使用了一个模板

在my config/locales/he-IL.yml中

在我的模式中的我的语句表中

 create_table "statements", :force => true do |t|
    t.text     "name_en_us"
    t.integer  "study_phase_id"
    t.datetime "created_at"
    t.datetime "updated_at"
    t.integer  "position",       :default => 1, :null => false
    t.text     "name_zh_cn"
    t.text     "name_de_de"
    t.text     "name_ja_jp"
    t.text     "name_es_es"
    t.text     "name_it_it"
    t.text     "name_ar_iq"
    t.text     "name_et_ee"
    t.text     "name_da_dk"
    t.text     "name_en_ca"
    t.text     "name_en_au"
    t.text     "name_en_gb"
    t.string   "name_nl_nl"
    t.text     "name_en_sg"
    t.text     "name_sk_sk"
    t.text     "name_cs_cz"
    t.text     "name_ru_ru"
    t.string   "name_ko_kr"
    t.string   "name_pl_pl"
    t.text     "name_fr_fr"
    t.text     "name_he_he" #just added with a migration 
配置加载路径未注释

config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
config.i18n.default_locale = :'en-US'
我已经在我的statements表中检查了列名\u fr\u fr,并且在服务器内部的我的生产数据库(mysql)中有数据

这些声明在我的he-IL.yml文件中

statements: |
  המצב בעל פוטנציאל להיות מהנה.
  המצב מורכב.
  יש עבודה שצריך לבצע
  מישהו מנסה להרשים את א'.
  מישהו מנסה לשכנע את א' במשהו.
  סומכים על א' שיעשה משהו.
  מותר לדבר.
  מותר לדבר.
  יש ציפיה או דרישה לדיבור.
  מבקשים משהו מ-א'.
  יש חשיבות לפרטים קטנים..
  המצב מעורר ערכים הקשורים לסגנון חיים או פוליטיקה.
  מספק הזדמנות להפגין יכולת אינטלקטואלית (למשל, דיון אינטלקטואלי, בעיה מסובכת שיש לפתור.)
  המצב לא ודאי.
  אדם אחר (נוכח או שדנים בו) נמצא תחת איום.
  א' מקבל ביקורת, ישירה או עקיפה.
  מישהו מנסה לנהל את או לשלוט ב-א'.
  המצב שובבני.
  התבוננות פנימה היא אפשרית. (למשל, אוירה שמאפשרת או מעודדת מחשבה על נושאים אישיים מאד)
  דברים קורים במהירות. (דירוג נמוך משמעו שדברים קורים באיטיות.)
  מישהו (נוכח או שדנים בו) עצוב או סובל.
  fנמצא אדם אחר שמרגיע.
  א' מואשם במשהו.
  יש לקבל החלטה..
  נדרשת חשיבה רציונלית.
  המצב דורש איפוק.
  המצב מערב תחרות.
  מספק הזדמנות ל-א' לעשות דברים שיגרמו לו להתחבב על אחרים או להתקבל על-ידם.
  ישנם נוכחים אחרים שצריכים או חושקים בעידוד.
  המצב מוביל לתסכול. (למשל, נמנעת השגת מטרה.)
  המשיכה הפיזית של א' רלוונטית.
  חשוב ל-א' לעשות רושם טוב.
  המצב יגרום לאנשים מסוימים מתח ועצבנות.
  המצב כולל דבר/ים קטנים מציקים.
  המצב עשוי לעורר חמימות או חמלה.
  ניתן לערער או לחבל באדם או פעילות.
  מתאפשר ל-א' להונות מישהו.
  מישהו אחר במצב (לא א') עלול להיות נכלולי.
  המצב עלול לגרום לרגשות של עוינות.
  ישנו חוסר הסכמה בין אנשים על משהו.
  מספק הזדמנות לבטא רעיונות או נקודות מבט יוצאי דופן.
  המצב מכיל איומים פיזיים.
  המצב מכיל איומים רגשיים..
  המצב מעל סוגיות מוסריות או אתיות. (למשל, מועלית דילמה מוסרית, דיון על מוסר.)
  נדרשת החלטה או פעולה מהירות.
  המצב מאפשר טווח חופשי של ביטוי רגשות.
  ייתכן שנוכחים אחרים הנם בעלי מניעים מנוגדים או נסתרים.
  המצב מעורר או עלול לעורר לחץ או טראומה
  מספק הזדמנות להרהר, לחלום בהקיץ או לפנטז.
  המצב בעל פוטנציאל לעורר אשמה אצל א'.
  יחסים אישיים קרובים קיימים או בעלי פוטנציאל להתפתח.
  סומכים על מישהו שאינו א' שיעשה משהו.
  המצב כולל גרוי אינטלקטואלי או קוגניטיבי. (למשל ספרים, הרצאות, שיחה אינטלקטואלית.)
  נדרשת אסרטיביות לצורך השגת יעד.
  המצב הוא בעל פוטנציאל לסיפוק מיידי של תשוקות. (למשל אוכל, קניות, הזדמנויות מיניות.)
  אינטראקציה חברתית היא אפשרית.
  המצב מצחיק או בעל פוטנציאל להיות מצחיק. (אם מישהו חושב שדברים כאלה מצחיקים.)
  א' הוא במוקד תשומת הלב.
  המצב כולל גרוי חושי. (למשל מגע, טעם, ריח, מגע פיזי.)
  המצב רלוונטי לבריאותו הפיזית של א'. (למשל סיכוי למחלה, ביקור רפואי.)
  הצלחה במצב זה מצריכה מודעות עצמית.
  א' שולט במשאבים הדרושים לאחרים.
  אחרים מפגינים טווח רחב של רמזים בין-אישיים. (למשל שפת גוף, טון דיבור, רמזים חברתיים.)
  המצב כולל הגבלות התנהגותיות. (למשל, חוקים או נורמות חברתיות שניתן או לא ניתן לערער
  עליהן.) המצב כולל גירויים אסתטיים. (למשל אמנות, מוסיקה, דרמה, יופי.)
  המצב עלול לעורר חרדה.
  המצב מציב דרישות מ- א'. (במפורש או במרומז.)
  מספק הזדמנות לבטא או להפגין שאפתנות.
  המצב עלול לגרום ל-א' להרגיש חסר יכולת.
  המצב כולל גירויים שניתן לפרש באופן מיני.
  דרישות המצב משתנות במהירות.
  מתעללים או פוגעים ב-א'.
  ישנם נוכחים בני המין השני.
  ישנם נוכחים בעלי פוטנציאל רומנטי עבור א'.
  המצב עשוי לעורר מוטיבציות מתחרות.
  המצב באופן בסיסי פשוט וברור.
  מספק הזדמנות לבטא קסם אישי.
  המצב כולל השוואה חברתית.
  המצב מעלה עניינים של כוח. (עבור א' או עבור נוכחים אחרים.)
  מספק הזדמנות לבטא גבריות.
  אחרים עשויים להזדקק או מבקשים לעצה מ-א'.
  העצמאות והאוטונומיה של א' מוטלות בספק או מאוימות. 
  המצב עשוי לעורר רגשית.
  מספק הזדמנות להפגין שטף מילולי. (למשל ויכוח, מונולוג, או שיחה פעילה.)
  האנשים הנוכחים הנם בעלי תפקידים חברתיים או מעמדות חברתיים שונים.
  מופעל על א' לחץ להתאים את עצמו לפעולותיהם של אחרים.
  הצלחה מצריכה שיתוף פעולה.
  משבחים או מחמיאים לא'.
  מספק הזדמנות לבטא נשיות.
例如,在my name_en_ca列中,我的服务器内mysql生产数据库中的en-ca.yml文件中有这些语句

 statements: |
      Interviews others (if present). (e.g., asks a series of questions)
      Volunteers a large amount of information about self.
      Seems interested in what someone had to say.
      Tries to control the situation. (Disregard whether attempts at control succeed or not.)
      Dominates the situation. (Disregard intention, e.g., if P dominates the situation by default because other(s) present does very little, this item should receive high placement.)
      Appears to be relaxed and comfortable.
还有很多。它们作为行存在于“我的名字”列中。我确信他们到达了数据库,因为它是从locales文件加载的


我确信我不需要手动将翻译插入新的“姓名”列。

这不是一个真正的答案,但这里有一些解决问题的建议

这种将多种语言的每个“语句”放在一个表行中的系统对我来说似乎并不熟悉。我不相信它是Rails i18n的一部分,也不相信它是我熟悉的任何宝石。因此,我假设有一些自定义代码将.yml文件内容拉入该表。或者该表用于自动填充.yml文件?查看您的视图,查看视图从何处获取翻译文本以供显示——如果它们在语句中循环。其中(…)。每个{…}或类似的内容,则数据来自表。你似乎在暗示,所以我想是这样的

可能有一些代码将.yml内容拉入表中。最有可能的方法是定制Rake任务——尝试查看lib/tasks中的文件,或者在命令提示符下执行'Rake-T'并查看所有结果

还有很多其他方法可以做到这一点。它可以动态地完成,也可以作为部署任务来完成,但是需要配置一些东西才能使其正常工作。有人可能已经将其转换为迁移(虽然不是一种很好的方法,但可能),一个“种子”脚本(签入db/seeds),或者不在任何常见位置的自定义代码。在整个项目中搜索“YAML.load”或仅搜索“YAML”(区分大小写)可能会向您显示查找位置——代码将使用YAML加载文件以填充数据库。您还可以搜索“Statement.create”、“Statement.build”、“Statement.new”

有一件事可能与此无关,但我要提及。不应该
t.text“name_he_he”#刚刚添加了一个迁移
name_he_il
?如果有一个自动系统将.yml文件映射到这些列名,则列名应该与文件名匹配


希望这能有所帮助。

是的,它是为表格而来的,它在控制器的新方法中为该路线进行洗牌,
@statements=@study\u phase.statements.shuffle
。可能有yml文件,我确信是yml文件填充了数据库,而不是数据库填充了yml文件。在new.html.haml中,它使用jquery并遍历来自控制器的语句。在lib/task中有一个自定义的remove duplicate rake任务,但不是加载任务。如果全局搜索没有找到将字符串放入数据库的代码,则可能是有人手动执行了该任务,或者忽略了包含他们使用的脚本。如果是这样,您可以编写自己的定制rake任务来填充表。但是,您需要完全了解如何设置研究阶段id和职位属性。我还将迁移列更改为
name\u he\u il
是的,全局搜索没有找到任何结果。