2010-09-29 3 views
2

Я начинаю использовать jQuery UI CSS Framework для приложения, а это значит, что мне нужно начинать добавлять классы ко всему. Так, например, я хочу сделать все кнопки jQuery-themed, что означает добавление класса ко всем кнопкам.Изменение помощников Rails для добавления классов HTML

Я предполагаю, что в Rails есть способ изменить помощников, поэтому мне не нужно вручную добавлять :class => 'blah' к каждой кнопке, но я не могу это обработать. Возможно ли это, или у кого-нибудь есть лучшие идеи?

ответ

5

Вам просто нужно переопределить вспомогательный метод с помощью этого класса оных. В вашем application_helper.rb

def button_to(name, options = {}, html_options = {}) 
    super(name, options, html_options.merge(:class => 'blah')) 
    end 
+0

Выглядит немного рекурсивно для меня ... – Skilldrick

+0

да, используйте супер. Я отредактировал свой ответ – shingara

+0

Отлично, вот что я искал - спасибо! – Skilldrick

3

Почему бы не использовать JQuery, Somthing как:

$('button').attr('class', 'blah'); 
+0

На самом деле это неплохая идея. Разумеется, в Rails должен быть простой способ сделать это. – Skilldrick

+0

Я проделал еще некоторое чтение, и похоже, что это может быть самый разумный ответ - это не похоже на простую задачу переопределить вспомогательные методы. Я отмечу это, если я не получу решение на основе Rails. – Skilldrick

+0

Я на самом деле пошел по этому маршруту в конце - у помощника было слишком много случаев с краями, и я все равно не пишу все свои HTML с помощниками. Путь jQuery сохраняет все в одном месте с помощью одного метода. Я действительно не чувствую, что могу отметить это как принятый ответ, потому что другой отвечает на вопрос, который я действительно спросил. Но все равно спасибо! – Skilldrick

Смежные вопросы