「acts_as_ratedプラグイン」の編集履歴(バックアップ)一覧はこちら

acts_as_ratedプラグイン」(2008/08/20 (水) 21:53:39) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

**プラグイン名 acts_as_ratedプラグイン **このプラグインができること +レーティング出来る +平均ポイント・ポイント総和・投票者数取得可能 +ユーザ削除によるポイント変動(不正ユーザによる操作のキャンセルが楽かも) +ユーザIDからレーティング済みモデルを抽出可能 +平均ポイントによるレーティング対象モデル抽出可能 詳しいことは本家参照↓ > * Rate any model > * Optionally add fields to the rated objects to optimize speed > * Optionally add an external rating statistics table with a record for each rated model > * Can work with the added fields, external table or just using direct SQL count/avg calls > * Use any model as the rater (defaults to User) > * Limit the range of the ratings > * Average, total and number of ratings > * Find objects by ratings or rating ranges > * Find objects by rater > * Check if an object is rated by a specific rater. (Added by Tiago Serafim, thanks!) > * Extensively tested **対象バージョン 1.2系 2.0系 2.1系 **ちょー簡単な使い方 >./script/plugin install svn://rubyforge.org/var/svn/acts-as-rated/trunk/acts_as_rated でインストールして、 > class AddRatingTables < ActiveRecord::Migration > def self.up > ActiveRecord::Base.create_ratings_table > # Movies table has the columns for the ratings added while it's created > create_table(:movies) do |t| > t.column :title, :text > Movie.generate_ratings_columns t > end > # Cars table has the columns for the ratings added, but after the fact, using ALTER TABLE calls. > # Usually used if the model already exist and we want to add the ratings after the fact > create_table(:cars) do |t| > t.column :title, :text > end > Car.add_ratings_columns > end > def self.down > # Remove the columns we added > Car.remove_ratings_columns > drop_table :movies rescue nil > drop_table :cars rescue nil > ActiveRecord::Base.drop_ratings_table > end > end みたいにマイグレーションしてからモデルに、 > class Book < ActiveRecord::Base > acts_as_rated > end としておくと、こんなことができる。 > bill = User.find_by_name 'bill' > jill = User.find_by_name 'jill' > catch22 = Book.find_by_title 'Catch 22' > hobbit = Book.find_by_title 'Hobbit' > > catch22.rate 5, bill > hobbit.rate 3, bill > catch22.rate 1, jill > hobbit.rate 5, jill > > hobbit.rating_average # => 4 > hobbit.rated_total # => 8 > hobbit.rated_count # => 2 > > hobbit.unrate bill > hobbit.rating_average # => 5 > hobbit.rated_total # => 5 > hobbit.rated_count # => 1 > > bks = Book.find_by_rating 5 # => [hobbit] > bks = Book.find_by_rating 1..5 # => [catch22, hobbit] > > usr = Book.find_rated_by jill # => [catch22, hobbit] 普通のマイグレーションファイル作ってから、レーティングしたいモデルだけAR.generate_ratings_columnsとかで追加マイグレーションするのが良いかも。 **公式ページ -[[公式>>http://acts-as-rated.rubyforge.org/]] **日本語解説ページ -見つからない **外国語解説ページ -あるかもしれないけど、本家でよくね? **のうはう -acts_as_ratedのオプション [[rdocを読む>http://acts-as-rated.rubyforge.org/classes/ActiveRecord/Acts/Rated/ClassMethods.html#M000001]]のが確実かも(英語) -マイグレーション時(あらかじめyour_tablesとyour2_tablesはDB/Model共に必要な構造を作っておき、追加マイグレーションする) > class AddRatingTables < ActiveRecord::Migration > def self.up > ActiveRecord::Base.create_ratings_table > YourTable.add_ratings_columns > Your2Table.add_ratings_columns > end > def self.down > YourTable.remove_ratings_columns > Your2Table.remove_ratings_columns > ActiveRecord::Base.drop_ratings_table > end > end #image(http://farm4.static.flickr.com/3129/2774240309_f38b753efb.jpg) [[WWW SQL Designer>http://www13.atwiki.jp/maimuzo?cmd=upload&act=open&pageid=45&file=acts_as_rated.xml]] **コメント #pcomment(reply)
**プラグイン名 acts_as_ratedプラグイン **このプラグインができること +レーティング出来る +平均ポイント・ポイント総和・投票者数取得可能 +ユーザ削除によるポイント変動(不正ユーザによる操作のキャンセルが楽かも) +ユーザIDからレーティング済みモデルを抽出可能 +平均ポイントによるレーティング対象モデル抽出可能 詳しいことは本家参照↓ > * Rate any model > * Optionally add fields to the rated objects to optimize speed > * Optionally add an external rating statistics table with a record for each rated model > * Can work with the added fields, external table or just using direct SQL count/avg calls > * Use any model as the rater (defaults to User) > * Limit the range of the ratings > * Average, total and number of ratings > * Find objects by ratings or rating ranges > * Find objects by rater > * Check if an object is rated by a specific rater. (Added by Tiago Serafim, thanks!) > * Extensively tested **対象バージョン 1.2系 2.0系 2.1系 **ちょー簡単な使い方 >./script/plugin install svn://rubyforge.org/var/svn/acts-as-rated/trunk/acts_as_rated でインストールして、 > class AddRatingTables < ActiveRecord::Migration > def self.up > ActiveRecord::Base.create_ratings_table > # Movies table has the columns for the ratings added while it's created > create_table(:movies) do |t| > t.column :title, :text > Movie.generate_ratings_columns t > end > # Cars table has the columns for the ratings added, but after the fact, using ALTER TABLE calls. > # Usually used if the model already exist and we want to add the ratings after the fact > create_table(:cars) do |t| > t.column :title, :text > end > Car.add_ratings_columns > end > def self.down > # Remove the columns we added > Car.remove_ratings_columns > drop_table :movies rescue nil > drop_table :cars rescue nil > ActiveRecord::Base.drop_ratings_table > end > end みたいにマイグレーションしてからモデルに、 > class Book < ActiveRecord::Base > acts_as_rated > end としておくと、こんなことができる。 > bill = User.find_by_name 'bill' > jill = User.find_by_name 'jill' > catch22 = Book.find_by_title 'Catch 22' > hobbit = Book.find_by_title 'Hobbit' > > catch22.rate 5, bill > hobbit.rate 3, bill > catch22.rate 1, jill > hobbit.rate 5, jill > > hobbit.rating_average # => 4 > hobbit.rated_total # => 8 > hobbit.rated_count # => 2 > > hobbit.unrate bill > hobbit.rating_average # => 5 > hobbit.rated_total # => 5 > hobbit.rated_count # => 1 > > bks = Book.find_by_rating 5 # => [hobbit] > bks = Book.find_by_rating 1..5 # => [catch22, hobbit] > > usr = Book.find_rated_by jill # => [catch22, hobbit] 普通のマイグレーションファイル作ってから、レーティングしたいモデルだけAR.generate_ratings_columnsとかで追加マイグレーションするのが良いかも。 **公式ページ -[[公式>>http://acts-as-rated.rubyforge.org/]] **日本語解説ページ -見つからない **外国語解説ページ -あるかもしれないけど、本家でよくね? **のうはう -acts_as_ratedのオプション [[rdocを読む>http://acts-as-rated.rubyforge.org/classes/ActiveRecord/Acts/Rated/ClassMethods.html#M000001]]のが確実かも(英語) -マイグレーション時(あらかじめyour_tablesとyour2_tablesはDB/Model共に必要な構造を作っておき、追加マイグレーションする) > class AddRatingTables < ActiveRecord::Migration > def self.up > ActiveRecord::Base.create_ratings_table > YourTable.add_ratings_columns > Your2Table.add_ratings_columns > end > def self.down > YourTable.remove_ratings_columns > Your2Table.remove_ratings_columns > ActiveRecord::Base.drop_ratings_table > end > end #image(http://farm4.static.flickr.com/3129/2774240309_f38b753efb.jpg) [[WWW SQL Designer>http://www13.atwiki.jp/maimuzo?cmd=upload&act=open&pageid=45&file=acts_as_rated.xml]] **コメント #pcomment(reply)

表示オプション

横に並べて表示:
変化行の前後のみ表示: