2012-12-31 2 views
0

프로필 스카 폴드 (그리고 Devise로 생성 된 사용자)가 있고, 각 사용자는 하나의 프로필을 가지고 있으며 내 application.html.erb에서 단일 사용자 프로필에 대한 링크를 표시하려고합니다.Application.html.erb의 링크를 다른보기에 추가하는 방법은 무엇입니까?

문제는, /views/profiles/index.html.erb에서 작동하지만 내가 놓친 거지 무슨

<td><%= link_to 'Show', profile %></td> 
<td><%= link_to 'Edit', edit_profile_path(profile) %></td> 

/layouts/application.html.erb

에서 작동하지 않습니다이 코드?

답변

1

응용 프로그램 레이아웃에서 profile 변수가 항상 설정되는 것은 아닙니다. profiles # index 액션에서 여러분은 다음과 같은 코드를 가지고 있다고 생각합니다 : @profiles.each do |profile|

이것은 프로파일 컬렉션을 취하여이를 반복하여 각 프로파일 객체를 블록에 전달합니다.이 경우에는 링크를 렌더링합니다 .

설명하는 경우 모든 페이지에서 현재 사용자 프로필에 대한 링크를 표시하려면 먼저 현재 로그인 한 사용자가 있는지 확인한 다음 해당 프로필 메서드를 호출해야합니다 현재 사용자. 그래서 :

<% if current_user %> 
    <%= link_to 'Edit Profile', edit_profile_path(current_user.profile) %> 
<% end %> 

더 일반적으로, 당신은 당신이 정의 된 변수를 전달하고 있는지 확인해야 인수를 필요로 경로 도우미를 사용하는 경우이다.

+0

앤드류 감사합니다. – iCyborg

관련 문제