Ich habe eine Situation, gibt es viele Arten von Empfang in meinem Projekt. Ich speichere sie in integer
.Schienen i18n Array verwenden
In i18n
Datei, erkläre ich die Übersetzung auf diese Weise.
hash[:"Receipt"] = {
:"receipt_choice1" => "Rc1",
:"choise_detail2" => "Rc_datail1",
:"receipt_choice2" => "Rc2",
:"choise_detail2" => "Rc_datail2",
:"receipt_choice2" => "Rc3",
:"choise_detail2" => "Rc_datail3",
}
Allerdings ist es nicht bequem für mich. In Sicht muss ich if, else
Syntax schreiben, um zu wählen, welcher Ausdruck ich benötige. So was.
<% if receipt.type == 1 %>
<p> <%= t(:"receipt.Receipt.receipt_choice1") </p>
<p> <%= t(:"receipt.Receipt.choise_detail2") </p>
<% elsif receipt.type == 2 %>
<p> <%= t(:"receipt.Receipt.receipt_choice1") </p>
<p> <%= t(:"receipt.Receipt.choise_detail2") </p>
...
Gibt es eine Möglichkeit, Array zu deklarieren? Wie
<%= t(:"receipt.Receipt[receipt.type]") %>
Oder gibt es einen besseren Weg, die ich benutzen kann?
Danke, ich werde den Code wie deine Antwort ändern! –