活动管理员habtm新按钮文本更改

时间:2017-02-27 08:57:39

标签: ruby-on-rails ruby activeadmin has-and-belongs-to-many has-many

user.rb

class User < ActiveRecord::Base
  has_and_belongs_to_many :user_groups
end

同样,user_group.rb

class UserGroup < ActiveRecord::Base
  has_and_belongs_to_many :users
end

现在,用户组的活动管理页面如下所示:

ActiveAdmin.register UserGroup, as: 'UserGroup' do
  form do |f|
    f.inputs do
      f.has_many :usergroup_users, as: 'member user' do |user|
        user.input :user_id
      end 
    end 
  end 
end

现在,这将创建用户组表单,其中包含用于将用户添加到新组的字段。用于向该组添加新用户的按钮将为Add new User Group User。我想将此按钮标签修改为其他内容。如何实施?

使用时解决了部分问题:

f.has_many :usergroup_users, heading: 'Add User to Group', as: 'member user' do |user|
...
end

这会将标题部分更改为所需的文本。但按钮标签仍然是个问题。

3 个答案:

答案 0 :(得分:3)

f.has_many :usergroup_users, new_record: 'Add member user' do |user|
...
end

new_record属性可用于自定义按钮标签。

答案 1 :(得分:0)

我还是铁杆的初学者但是你试过这个吗?

{{1}}

答案 2 :(得分:0)

通过这种方式,可以更改“新建”和“编辑页面”按钮上的文本。

        export function unsavedChangesHook(transitionService: TransitionService) {
        const criteria = { to: (state) => state.data && state.data.checkUnsavedChanges };

        const callback = async (transition: Transition) => {

            // Pseudo-function where we would find out the form is dirty
            const formDirty = formIsDirty();

            if (formDirty) {
                const ok = confirm('Navigate away? All changes will be lost.');

                if (!ok) {
                    return false;
                }
            }

            return true;
        };

        transitionService.onBefore(criteria, callback, { priority: 10 });

    }