我有几个相关但又不同的AR模型,它们包含代表同一条数据的属性。当我为这些属性设置翻译时,我现在将它们设置为......
en:
activerecord:
attributes:
model_a:
assigned_date: "Assigned to worker"
model_b:
assigned_date: "Assigned to worker"
[ ... ]
有没有办法以某种通配符方式定义此翻译一次?
我认为最有道理的方法......
en:
activerecord:
attributes:
assigned_date: "Assigned to worker"
model_a:
[ model-specific translations here ]
不起作用,因为AR显然在attributes
答案 0 :(得分:3)
公共属性可以升级到一级并在需要时被覆盖
en:
attributes:
first_name: Name
activerecord:
attributes:
user:
email: Email
admin:
first_name: First Name
答案 1 :(得分:0)
是的,您可以定义“节点锚点”并稍后引用它们。此外,您可以使用不同的值重新定义“节点锚点”部分中定义的属性,这是您的要求。
使用如下:
en:
activerecord:
defaults: &defaults
assigned_date: "Assigned to worker"
attributes:
model_a:
<<: *defaults
assigned_date: Model specific translation
在这种情况下,您定义节点锚&defaults
并在model_a
中引用它们。然后,在assigned_date
下覆盖model_a
的值。因此,model_a.assigned_date
为您提供“特定于模型的翻译”。如果assigned_date
下model_a
重新定义model_a.assigned_date
,<?php
define("DB_HOST", "localhost");
define("DB_USER", "root");
define("DB_PASSWORD", "");
define("DB_DATABASE", "StageReady");
$myConnection = mysqli_connect(DB_HOST,DB_USER,DB_PASSWORD, DB_DATABASE) or die ("could not connect to mysql");
$sqlCommand="SELECT id, content FROM voteofthanks ";
$posts = array();
$result=mysqli_query($myConnection, $sqlCommand) or die(mysql_error());
while($row=mysqli_fetch_array($result))
{
$title=$row['id'];
$url=$row['content'];
$posts[] = array('id'=> $title, 'content'=> $url);
}
$fp = fopen('results.json', 'w');
fwrite($fp, json_encode($posts));
fclose($fp);
?>
会给您“分配给工作人员”。