Frederick Cheung wrote:
> On Jan 12, 4:58 pm, John Merlino <[email protected]> wrote:
>>
>> > Your lambda should return a single hash with all the query options you
>> > want. (and its :joins not :join)
>>
>> > Fred
>>
>> Isn't it returning a single hash here?
>
> No it isn't - you've got the :join => :student_state and then you've
> got the lambda - you can't mix and match the proc form of named_scope
> with the non proc form: either you pass a hash to named_scope or you
> give it a lambda - not both.
>
> Fred
Well, I changed it around. I think this is what you were talking about:
class StudentState < ActiveRecord::Base
has_many :students
end
class Student < ActiveRecord::Base
belongs_to :student_state
named_scope :status, :joins => :student_state, => {'student_state.state'
=> ?, :state}
end
class StudentsController < ApplicationController
before_filter :get_state
def index
@list = student.find(:all)
render :xml => @list
end
def filter_show
@student_state.student.status(:state)
#This is the students associated with a student state and based on which
value they click on, we will return that value into the status
named_scope, which will set it and then only return the students of the
student_status which has a value of that specific state (e.g.
passing/failing)
end
def get_state
@student_state= StudentState.find(params[:all])
#All of the attributes of student_state model (e.g. status attribute and
values of passing/failing)
end
All I was trying to do was where a user clicks on one of options in a
filter, such as passing, then it will return the list of students who
are passing. My undertanding is this could be done in named_scope.
--
Posted via http://www.ruby-forum.com/.
--
You received this message because you are subscribed to the Google Groups "Ruby
on Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en.