2012-03-26 8 views
1
の場合

form_for orbinaryオブジェクトは使用できますか?通常のオブジェクトの場合はform_for

コントローラー:

class AgendaState 
    attr_accessor :base_date 

    def initialize(date) 
     @base_date = date 
    end 
end 

class TodayController < ApplicationController 
    def agenda(base_date = Date.today) 
     @agenda = AgendaState.new(base_date) 

ビュー:

<%= form_for(@agenda) do |f| %> 
    <%= f.text_field :base_date %> 
<% end %> 

エラーメッセージ:

undefined method `model_name' for AgendaState:Class 

答えて

5

ActiveModel

class AgendaState 
extend ActiveModel::Naming 
include ActiveModel::Conversion 
... 
end 
を使用してクラスを拡張することになる最も簡単な方法

コメントの議論のために更新されました。

+0

に対して "未定義メソッド' to_key 'エラーが発生します。この場合、 – demas

+0

にクラスにActiveModel :: Conversionが追加されます。 –

+0

私はhttp://mrjaba.posterous.com/rails-3-active-model-undefined-method-tokey-fを見つけましたが、#<#:0x3cf4e00>に対して未定義のメソッド 'agenda_states_path ' – demas