2011-12-23 8 views
-1

私はプロジェクトのような別のエンティティで使用しています多形アイデアモデルを持っている、機会など プロジェクト」 EG-の機会のideable_idがopportunity_id & ideable_typeである 『オポチュニティ』Railsの仮想私のアプリケーションでモデル

は今、私の質問は、私はideabank & ideabankのためのアイデアを作成する必要があること、それは仮想エンティティのプロジェクトや機会のような実体ではありません。どのように私はideable_id & ideable_type与えるdatabsaseなしでモデルを作成する必要がありますか? ideabankにアイデアを追加している間、この2つの列を空白にしておきますか?あなたがレール3を使用している場合は

答えて

5

、この http://railscasts.com/episodes/219-active-model

models/message.rb

class Message 
    include ActiveModel::Validations 
    include ActiveModel::Conversion 
    extend ActiveModel::Naming 

    attr_accessor :name, :email, :content 

    validates_presence_of :name 
    validates_format_of :email, :with => /^[-a-z0-9_+\.]+\@([-a-z0-9]+\.)+[a-z0-9]{2,4}$/i 
    validates_length_of :content, :maximum => 500 

    def initialize(attributes = {}) 
    attributes.each do |name, value| 
     send("#{name}=", value) 
    end 
    end 

    def persisted? 
    false 
    end 
end 

messages_controller.rb

def create 
    @message = Message.new(params[:message]) 
    if @message.valid? 
    # TODO send message here 
    flash[:notice] = "Message sent! Thank you for contacting us." 
    redirect_to root_url 
    else 
    render :action => 'new' 
    end 
end 
を見ます
関連する問題