2012-04-26 2 views
0

사용자 테이블이 있습니다. "user_type"필드를 포함합니다. 는 내가 user.rb 파일에 다음 범위 stmts을 추가 :RoR 범위 문제

scope :uemployee, where(:user_type => 'employee') 
scope :uclient, where(:user_type => 'client') 
scope :ucontractor, where(:user_type => 'contractor') 

내가보기를 생성하고 나는 그가 직원을 나열하고 싶습니다. 내가 잘못 뭐하는 거지

: 나는 "NilClass 전무에 대한 정의되지 않은 메서드`uemployee '을"얻을

<% @users.uemployee.each do |user| %> 

을하지만, 다음은 코드는 내가 사용하는 것을 시도하고있다?

<% User.uemployee.each do |user| %> 

그러나 이것은 나쁜 관행으로 간주됩니다 :

감사

+0

당신의 orm은 무엇입니까? – apneadiving

+0

이것은 orm입니까? belongs_to : 클라이언트 has_many : assigned_worequests, : class_name => "wrequest", : foreign_key => "employee_id" has_many : wrequests has_many : 상태 – Reddirt

답변

0

이 보이는 전무하다. 컨트롤러에서 데이터를 준비하면보기가 순환됩니다.

# in a controller's action 
@users = User.uemployee 

#in a view 
<% @users.uemployee.each do |user| %> 

그러나 이것이 최선의 방법은 아닙니다. 당신이합니다 (@없이 현재 사용자가 간단한 user 변수로 사용할 수 있습니다) 특정 사용자에 대한 정보를 보여줍니다 파일 views/users/_user.html.erb을 만들 경우에 당신은 간단하게 작성할 수 있습니다

# in a view 
<%= render @users %> 
# remember, @users variable was set in your controller 

다음 레일 차례로 순환되는 모든 사용자가 @users 변수를 '내부'로 식별하여 하나씩 표시합니다.

0

귀하의 @users 컬렉션이 작업을 수행하고 싶었처럼