form_for для обычного объекта - PullRequest
1 голос
/ 26 марта 2012

Могу ли я использовать 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

1 Ответ

5 голосов
/ 26 марта 2012

Самый простой способ - расширить класс с помощью ActiveModel

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

Обновлен в связи с обсуждением в комментариях.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...