내보기로 전달되는 인스턴스 변수를 만듭니다. 이 변수 'post'는 user_id와 연관되어 있으므로 'username'이라는 추가 속성을 추가하여이를 전달하고보기에서 사용할 수 있습니다.Rails에서 인스턴스 변수에 매개 변수 추가
다음은 내가하고 싶은 일의 예입니다.
@post = Post.find(params[:id])
@post.username = User.find(@post.user_id).username
내 사용자 모델에는 사용자 이름 열이 있지만 노래 모델은 없습니다. 그래서 제가 그냥 완전히 새로운 인스턴스 변수를 만들고 거기에 해당 정보를 넣을 수 있습니다 알고
@post.username
를 사용하지 않습니다하지만 난 하나 개의 변수에, 좋은 깔끔한 모든 것을 유지하고 싶습니다. 또한 json 렌더링 코드를 더 깨끗하게 보일 것입니다.
어떻게 수행 할 수 있습니까?
감사합니다.
감사를 통과 할 수있다, 나는이 관계에 대해 아무 생각이 없었다. 페이지의 json 출력에 사용자 이름 정보를 추가 할 여지가 있습니까? – Dan
예. 내 대답 – rjz
업데이트 할 것입니다. 그것은 별개의 문제입니다. 어떻게 JSON으로 렌더링합니까? 기본값을 사용하는 경우 to_json 호출에 옵션을 전달하십시오. 예 : render : json => @ post.to_json (: include => : user). 또는 Post JSON 객체가 애플리케이션의 모든 사용자 이름을 갖기를 원한다면 Post 모델에서'as_json' 메소드를 커스터마이징하십시오. –