Узлы могут быть доступны по их имени, поэтому вы можете просто нарисовать стрелки между ними:
% !TeX TS-program = lualatex
\documentclass[tikz,border=10pt]{standalone}
\usetikzlibrary{graphdrawing}
\usetikzlibrary{graphs}
\usegdlibrary{trees}
\begin{document}
\begin{tikzpicture}[>=stealth, every node/.style={rectangle, rounded corners, draw, minimum size=0.75cm}]
\graph [tree layout, grow=down, fresh nodes, level distance=0.5in, sibling distance=0.5in]
{
Flight 0 -> {
Flight 1 -> { 4 , 5},
Flight 2 -> { 6 },
Flight 3 -> { 7,8 }
}
};
\draw[->] (6) -- (5);
\draw[->] (5) -- (4);
\end{tikzpicture}
\end{document}
Теперь общепринятый способ установки гуманизированных имен и пользовательских сообщений об ошибках - использовать локали .
# config/locales/en.yml
en:
activerecord:
attributes:
user:
email: "E-mail address"
errors:
models:
user:
attributes:
email:
blank: "is required"
Теперь очеловеченное имя и сообщение проверки присутствия для атрибута «электронная почта» были изменены.
Сообщения проверки могут быть установлены для определенной модели + атрибута, модели, атрибута или глобально.
Я рекомендую установить гем custom_error_message (или как плагин ), изначально написанный Дэвидом Исли
. Он позволяет вам делать такие вещи, как:
validates_presence_of :non_friendly_field_name, :message => "^Friendly field name is blank"
Попробуйте это.
class User < ActiveRecord::Base
validate do |user|
user.errors.add_to_base("Country can't be blank") if user.country_iso.blank?
end
end
Я нашел это здесь .
Вот еще один способ сделать это. Что вы делаете, это определяете метод human_attribute_name в классе модели. Метод передает имя столбца в виде строки и возвращает строку для использования в сообщениях проверки.
class User < ActiveRecord::Base
HUMANIZED_ATTRIBUTES = {
:email => "E-mail address"
}
def self.human_attribute_name(attr)
HUMANIZED_ATTRIBUTES[attr.to_sym] || super
end
end
Приведенный выше код взят из здесь