This gem is under early development.
This Administrate plugin adds support for string fields that use the Mobility gem to hold translated values.
Set locale_accessors
to true in config/initializers/mobility
config.default_options[:locale_accessors] = true
Add Administrate::Field::Mobility gems to your Gemfile:
gem "administrate-field-mobility", "0.0.1"
Add the Administrate Mobility Field to your dashboard.
ATTRIBUTE_TYPES = {
created_at: Field::DateTime,
update_at: Field::DateTime,
name: Field::Mobility::String,
description: Field::Mobility::Text,
}.freeze
There is an type
option you can set to change the partial path.
This is useful when using different mobility-backends which need different renderings
like mobility-actiontext
.
ATTRIBUTE_TYPES = {
description: Field::Mobility::Text.with_options(type: 'actiontext'),
}.freeze
# file app/views/fields/mobility/actiontext/_form.html.erb
<div class="field-unit__label">
<%= f.label field.attribute %>
</div>
<div class="field-unit__field">
<% I18n.available_locales.each do |locale| %>
<%= f.rich_text_area "#{field.attribute}_#{locale}".downcase.underscore %>
(<%= locale %>)
<% end %>
</div>
# file app/views/fields/mobility/actiontext/_show.html.erb
<% I18n.available_locales.each do |locale| %>
<% I18n.with_locale(locale) do %>
<%== "#{field.resource.send(field.attribute.to_sym)}" %>
<%= "(#{locale})" %>
<% end %>
<br>
<% end %>
This gem is inspired by administrate-field-globalize