У меня пока недостаточно комментариев, чтобы ответить, но чтобы ответить на ваш вопрос об ответе cwninja, в большинстве случаев вы отображаете форму представления в действии контроллера.Контроллер получает запрос, выполняет правильное действие и возвращает ответ, в этом случае визуализированное представление в качестве тела ответа.Простой пример использования haml может выглядеть следующим образом:
class SomeController
def some_action
@foo = "bar"
Haml::Engine.new(template).render(self)
end
end
В этом случае настройки переменных экземпляра в контроллере будут автоматически доступны для представления, поскольку они определены в одном и том же контексте.Переменные из модели не будут доступны, как они не должны, однако все, к чему вы можете получить доступ из действия контроллера, может быть доступно из представления.Большинство систем шаблонов также позволяют передавать хешу локальных переменных в представление, например:
Haml::Engine.new(template).render(self, {:foo => "bar"})
Надеюсь, это устранит некоторую путаницу:)