2012-10-18 3 views
4

Я создаю пользовательскую форму в Active Admin 0.5. Я зарегистрировал страницу и создал форму через DSL:Пользовательская форма в Active Admin

ActiveAdmin.register_page 'Planning', :namespace => :pos_admin do 

    content :title => proc{ I18n.t("active_admin.dashboard") } do 

    form do |f| 
     f.input :type => :text 
     f.input :type => :submit 
    end 

    end 
end 

Проблема заключается в том, что при отправке формы я получаю пустой Params хэш. И тег формы не содержит токена аутентификации.

Что я делаю неправильно?

ответ

1

Я использую следующий синтаксис с формами АА (с f.inputs сделать блок) Кроме того, вы должны использовать имена свойств объекта, для входов

form do |f| 
    f.inputs do 
    f.input :property_name, :type => :text 
    end 
    f.actions 
    end 

Надеется, что это поможет!

6

старый пост, но для тех, кто наткнуться на этот вопрос, ответ добавить

f.input :name => 'authenticity_token', :type => :hidden, :value => form_authenticity_token.to_s 

форме. Это возвращает токен аутентификации на ActiveAdmin, чтобы он мог подтвердить, что подделка не состоялась. Ваша сессия была прекращена, и вы были возвращены на экран входа в систему, потому что ActiveAdmin считал, что вы пытаетесь подделать заявку.

Ваша форма должна выглядеть следующим образом

form do |f| 
    f.input :name => 'authenticity_token', :type => :hidden, :value => form_authenticity_token.to_s 
    f.input :type => :text 
    f.input :type => :submit 
end 
Смежные вопросы