activeadmin-globalize не обновляет записи
Я использую rails4, activeadmin, globalize и activeadmin-globalize. Я создал тестовое приложение, но оно не работает должным образом для меня.
У меня есть модель класса model.rb
class Post < ActiveRecord::Base
active_admin_translates :title, :text do
validates_presence_of :title
end
end
И соответствующая миграция
class CreatePosts < ActiveRecord::Migration
def up
create_table :posts do |t|
t.timestamps
end
Post.create_translation_table! title: :string, text: :text
end
def down
drop_table :posts
Post.drop_translation_table!
end
end
Активная страница администратора настроена так
ActiveAdmin.register Post do
permit_params :title, :text, translations_attributes: [:title, :text, :locale]
index do
translation_status
default_actions
end
form do |f|
f.translated_inputs 'Translated fields', switch_locale: false do |t|
t.input :title
t.input :text
end
f.actions
end
end
Когда я создаю новую запись в ActiveAdmin, все работает хорошо и локализации сохраняются. Проблема в том, что когда я пытаюсь отредактировать и сохранить эту запись, ничего не меняется.
Кто-нибудь может сказать мне, что я делаю не так? Есть ли рабочий пример решения, которое я могу скачать и попробовать самостоятельно?
Обновить:
Я только что обнаружил, что всякий раз, когда я пытаюсь обновить запись, в таблице переводов создается новый набор записей перевода. ActiveAdmin все еще видит первый.
1 ответ
Вы должны добавить:id к translations_attributes в allow_params:
permit_params :title, :text, translations_attributes: [:id, :title, :text, :locale]