[acts_as_commentable_gem][1]
ユーザーがピンをアップロードできるレールアプリがあります。ユーザーがピンにコメントできるようにするために使用したいのですが、ここに私の設定があります:
アプリ/モデル/pin.rb
class Pin < ActiveRecord::Base
acts_as_commentable
end
アプリ/コントローラー/pins_controller.rb
def show
@pin.find params[:id]
@comment = @pin.comments.new
end
アプリ/ビュー/ピン/show.html.erb
<%= form_tag "/pins/add_new_comment" do %>
<%= hidden_field_tag "id", post.id %>
<%= text_area_tag "comment[comment]" %>
<%= submit_tag "Pin Comment" %>
<% end %>
アプリ/モデル/コメント.rb
class Comment < ActiveRecord::Base
include ActsAsCommentable::Comment
belongs_to :commentable, :polymorphic => true
default_scope -> { order('created_at ASC') }
# NOTE: install the acts_as_votable plugin if you
# want user to vote on the quality of comments.
#acts_as_voteable
# NOTE: Comments belong to a user
belongs_to :user
end
アプリ/コントローラー/pin_controller.rb
def add_new_comment
pin = Pin.find(params[:id])
pin.comments << Pin.new(params[:comment])
redirect_to :action => :show, :id => pin
end
最終的に私の設定/ルートに
get "/pins/add_new_comment" => "pins#add_new_comment", :as => "add_new_comment_to_pins", :via => [:pin]
しかし、ルーティング エラーが発生します。
PinsController:Class の未定義のローカル変数またはメソッド「acts_as_commentable」
このエラーがどこから来たのか本当にわかりません。何かアイデアはありますか?