Let’s say I have an app that handles a TODO list. The list has finished
and
unfinished items. Now I want to add two virtual attributes to the list
object; the count of finished and unfinished items in the list. I also
need
these to be displayed in the json output.
Hi!
Let’s say I have an app that handles a TODO list. The list has finished and
unfinished items. Now I want to add two virtual attributes to the list
object; the count of finished and unfinished items in the list. I also need
these to be displayed in the json output.
How do I achieve that?
Define two scopes on List that return the finished and unfinished items
then use
List.unfinished.count
Items have a status field. Lists has many items.
When displaying a List as JSON I want it to have an attribute that
counts
how many finished items there are in the list and how many unfinished
items
there are in the list. The above methods only fetches the items, and I’d
have to count the result of that of course.
class TodosController < ApplicationController
def show @todo = Todo.find(params[:id])
respond_to do |format|
format.json { render_for_api :public, :json => @todo }
end
end
end
class Todo < ActiveRecord::Base
has_many items
acts_as_api
api_accessible :public do |t|
t.add “items.finished_items.all”, :as => finished_items
t.add “items.unfinished_items.all”, :as => unfinished_items
t.add “items.finished_items.count”, :as => num_of_finished_items
t.add “items.unfinished_items.count”, :as => num_of_unfinished_items
end
end
hi…
i got prob with creating mailer in rails 3
i used rails g mailer UserMailer… … how to define method in
usermailer…?n cal that method…?
What has that got to do with the subject of this thread, which is Add
virtual attribute? It is best to start a new thread for a new
subject, with a subject line that matches the question.