RailsAdmin - скрытые поля формы и метки - PullRequest
1 голос
/ 08 мая 2011

Использование RailsAdmin. У меня есть модель Post и модель User. Каждый пост принадлежит пользователю.

Я использую следующий код, чтобы RailsAdmin обрабатывал ассоциацию для меня и автоматически устанавливал user_id при создании сообщения:

  config.model Post do 
    edit do
      field :user_id do
        # use a form_field instead of the default drop-down
        partial :form_field
        # hide the input
        view_helper :hidden_field
        # set the value to current_user.id
        def value
          bindings[:view]._current_user.id
        end
      end 
    end
  end

Этот код работает, он устанавливает user_id в значение current_user, а также скрывает поле form_ (ввод html) от просмотра, так что пользователь даже не знает, что он устанавливается от его имени.

Хотя есть одна маленькая проблема. Хотя я могу скрыть поле формы, я не могу скрыть связанный с ним ярлык (т. Е. Ярлык с надписью «Пользователь», который отображается рядом с входом), что означает, что мои пользователи видят это:

enter image description here

Как видите, есть ярлык "Пользователь" с пустым пробелом рядом с ним и словом "Обязательно" под ним.

Есть ли в любом случае также скрыть ассоциированную метку ввода (и не только сам ввод), чтобы это не вводило пользователя в заблуждение? Что-то не так с моим кодом?

Заранее спасибо

Ответы [ 3 ]

2 голосов
/ 28 октября 2011

Я также столкнулся с тем же препятствием и после некоторых проб и ошибок (и советов от группы rails_admin) нашел небольшую альтернативу:

config.model Library do
  edit do 
    field :user_id do
      # This hides the field label
      label :hidden => true
      # This hides the help field *yuk*
      help ""
      def value 
        bindings[:view]._current_user.id 
      end
      # This hides the field input 
      view_helper do
        :hidden_field
      end
    end
  end 
  field :name
end
1 голос
/ 08 мая 2011

Мне кажется, я нашел рабочее решение:

  field :user_id do
    view_helper :hidden_field

    # I added these next two lines to solve this
    label ""
    help ""

    partial :form_field
    def value
      bindings[:view]._current_user.id
    end
  end 

Не идеально, но работает

0 голосов
/ 06 февраля 2012

Обновление для всех, у кого есть проблемы с этим. Смотрите эту ссылку: https://github.com/sferik/rails_admin/wiki/How-to-set-default-values

...