누구든지 컨트롤러의 변수가 모듈 속성으로보기에 마술처럼 나타남을 설명 할 수 있습니까? 예를 들어View 속성은 Phoenix에서 어떻게 생성됩니까?
, 컨트롤러에서이 render/3
:
defmodule MyApp.UserController do
def show(conn, %{"id" => user_id}) do
render conn, "show.html", user: Repo.get(User, user_id)
end
는 속성 @user
내가 좋아하는 템플릿에서 사용할 수있는 생성 :
Hello, <%= @user.first_name %>
내가 템플릿 기능되었다는 것을 이해하고는 있습니다 보기에서는 MyApp.UserView
과 같습니다. 즉 @user
은 MyApp.UserView
모듈의 속성입니다. 그러나 어떻게?
내 대답은 처음 두 문장은 여기에 귀하의 질문에 잘 답변 : http://stackoverflow.com/a/39391047/320615 – Dogbert
나는 본다! 고맙습니다 @ 도버트, 이것은 정답입니다. 나는 레일과 같은 모양의 템플릿을 가지고있는 것으로 상상할 수 있습니다. 답변을 게시 해주세요. 동의 할 것입니다. – Grych