Скрыть DIV [Rails] - PullRequest
       9

Скрыть DIV [Rails]

7 голосов
/ 13 февраля 2009

Скрытие DIV было бы достаточно просто в Javascript, но есть ли какой-нибудь Rails-й способ сделать это? Конечно, я могу придумать несколько способов сделать это, вызвав Javascript из частичного (.erb), но я бы предпочел вообще не писать никакого Javascript. Возможно ли это?

Редактировать: Страница загружена, и я хотел бы скрыть DIV после (ну, вкл.) Вызова Ajax, поэтому я нахожусь в одном из этих render :update блоки.

Ответы [ 5 ]

11 голосов
/ 13 февраля 2009

Или, прямо на ваш взгляд:

Для указанного класса div:

<%= link_to_function "Toggle", "$('.some_div').toggle()" %>

Для идентификатора, указанного в ID:

<%= link_to_function "Toggle", "$('#some_div').toggle()" %>

(обратите внимание на хеш-метку)

Добавлен период к классу div и хэш для идентификатора div

6 голосов
/ 13 февраля 2009
render :update do |page|
    page.hide 'div_id'
end

Вы можете добавить это в свой блок response_to или шаблон RJS.

Еще один полезный совет, использующий тот же синтаксис:

render :update do |page|
    page << 'arbitrary javascript code goes here.'
end
3 голосов
/ 13 февраля 2009

Чтобы отобразить обновление RJS с вашего контроллера:

respond_to do |format|
  format.html
  format.js { render(:update) { |page| page.hide('element_id') } }
end

Вы можете найти API для других ответов RJS.

1 голос
/ 22 июля 2010
<%= link_to_function "Toggle", visual_effect(:toggle_blind, "some_div") %>
1 голос
/ 13 февраля 2009

На самом деле не знаю rails, но вы можете просто вывести что-то вроде style = "display: none;" в тег div?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...