2011-08-25 1 views
6

location 모델과 post 모델이 있습니다. 사용자가 location 모델의 index 페이지에서 새로운 posts을 만들 수 있도록하고 싶습니다. 어떻게해야합니까? 나는 postnew.html.erblocationindex.html.erb에 부분적으로 렌더링하려고 시도했으나, postnew.html.erb@post 변수를 참조하므로 오류가 발생합니다.레일 : 뷰에서 다른 모델의 폼 표시

어떻게해야합니까?

답변

14

지금 UR 위치보기 @post 변수 인스턴스에 액세스 할 수있는 것이

LocationController 

def index 
    @location = Location.find(:all) 
    @post = Post.new 
end 

같은 것을보십시오. 날이 오류를 제공

render :partial => 'posts/post', :object => @post 
+0

+1, .. 또는 Allesklar가 제안하는 것과 비슷한 방식으로 변수 대신 Post.new를 사용합니다. 그러나보기에 따라 다릅니다. 변수가 거기에 '하드 코드'될 수 있습니다. – Arsen7

0

LocationsController에서 동작에 변수 @post 만 만들면됩니다.

+0

이 것을 사용 부분을 렌더링 : '그럼 당신이 ** 구문 오류가 LocationsController' –

+0

을 정의 할 수 /home/eyekandy/rails_apps/eyekandy/app/controllers/locations_controller.rb 예상 ** 귀하의 코드입니다. 당신의 행동 규범을 보여줄 수 있습니까? 나는 단지 당신이 그 행동 만 편집했다고 가정하지만 그 오류는 어딘가에 있을지도 모른다. 어쩌면 우연히 어떤 성격을 제거 했을까? – Arsen7

3

이 같은 형태를 시작할 수 있습니다

<%= form_for Post.new do ... %>