2010-08-05 2 views
0

제 사용자는 "특허"를 가지고 있습니다. 그것에, 그것은 수준을 결정하는 부울 "전문가"입니다.루비 데이터 비교

로그인 한 사용자는 자신이 숙련 된 다른 사용자의 특허를 편집 할 수 있어야합니다.

문제는 특허는 참조가 없으며, 비교할 수있는 ID와 이름이 들어있는 "기술"의 부울 "전문가"와 이름 (소유)에 불과합니다.

예를 들어 로그인 한 사용자가 "기술"의 작성자인지 확인할 수 있습니다. 같은 :

는 는
<% if @patent.skill.user == @current_user %> 
    <td><%= link_to 'Edit', edit_patent_path %></td> 
<% else %> 
<% end %> 
내가 묻고 싶다

: 스킬 "같은에서"특허 "를 true로"전문가 "를 @current_user가있는 경우" "나는 편집 할 후 나에게 링크를 보여" 단지 이름과 다른 정보를 전혀 보유하지 않은 CURRENT_USER에 대해 볼 수있는 무언가를 찾기 위해

<% if @patent.skill.name 

하지만 수 :

나는으로 시작해야합니다. CURRENT_USER가 (상태 = 1) 전문입니다 나는 특허 보는 patents_controller에서 : 당신의 도움에 대한

덕분에 나는 해결책을 발견

+0

당신이 당신의 모델에서 우리에게 코드를 보여 주 시겠어요 ... 질문의 모호성을 실현? –

답변

0

시도 할 수있는 방법을 이해합니다. 컨트롤러에서

helper_method :is_expert? 

private 

def is_expert? 
    Patent.find(:first, :conditions => {:user_id => @current_user, :skill_id => @patent.skill.id, :state => 1})  
end 

난 그냥

<% if is_expert? %> 
    <%= link_to 'Edit', edit_patent_path %> 
<% end %> 

죄송 조건을 넣어, 나는