2012-03-26 4 views
1

orphinary 오브젝트 용 form_for를 사용할 수 있습니까?일반 오브젝트 용 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

가장 간단한 방법은

class AgendaState 
extend ActiveModel::Naming 
include ActiveModel::Conversion 
... 
end 
ActiveModel

으로 클래스를 확장 할 것

의견의 토론으로 인해 업데이트되었습니다.

+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