| 2008-08-27 09:31:58 | Ответить |
|---|---|
|
Евгений Ворошилов Адрес: Львов Сообщений: 13 Регистр: 2008-08-08 его блог 0 сообщ. |
Как из erb-файла поменять переменную определённую в контроллере и перегрузить страничку |
|
Добрый день.
задача следующая: в контролере объявляется переменная @selected_date >>def index >> if @selected_date.blank? >> @selected_date = Time.now >> end >> @meetings = Meeting.find(:all) >> respond_to do |format| >> format.html # index.html.erb >> format.xml { render :xml => @meetings } >> end >>end после я отображаю календарик на семь дней, начиная от @selected_date. На форме есть две кнопки Next и Previous. При нажатии на которые необходимо, чтобы календарик сдвигался на один день вперёд или назад соответственно. >> >> >> function onPPP() >> { >> alert(""); >> >> alert(""); >> location.reload(true);return true; >> } >> в момент выполнения, при нажатии кнопки видно, что дата меняется, однако после опять запускается метод index и дата становится текущей. Изменений не происходит. Как мне это обойти? |
|
| ERB, javascript, reload_page |
| 2008-08-27 09:33:17 | Ответить |
|---|---|
|
Евгений Ворошилов Адрес: Львов Сообщений: 13 Регистр: 2008-08-08 его блог 0 сообщ. |
RE: Как из erb-файла поменять переменную определённую в контроллере и перегрузить страничку |
|
дополнение:
описание кнопки: |
|
| 2008-08-27 09:34:50 | Ответить |
|---|---|
|
Евгений Ворошилов Адрес: Львов Сообщений: 13 Регистр: 2008-08-08 его блог 0 сообщ. |
RE: Как из erb-файла поменять переменную определённую в контроллере и перегрузить страничку |
|
описание кнопки ввожу через пробелы, поскольку иначе оно не отображается |
|
| 2008-08-27 09:54:18 | Ответить |
|---|---|
|
Roman V. Babenko Адрес: Kyiv Сообщений: 309 Регистр: 2008-04-22 его блог 6 сообщ. |
RE: Как из erb-файла поменять переменную определённую в контроллере и перегрузить страничку |
|
Код пиши в теге code. Читать трудно.
------------
Во первых даже если поменяеш дату то все расно ничего не получиться У тебя условий нету все время возвращаються все события Заведи переменную типа current_date и отсылай ее контроллеру. В коде кнопки взад/вперед добавляй/отнимай переменной шаг. В контроллере проверяй значение. http://romanvbabenko.blogspot.com
Если в споре не родилась истина, то, по крайней мере, один из спорящих бесплоден.
|
|
| 2008-08-27 10:52:10 | Ответить |
|---|---|
|
Евгений Ворошилов Адрес: Львов Сообщений: 13 Регистр: 2008-08-08 его блог 0 сообщ. |
RE: Как из erb-файла поменять переменную определённую в контроллере и перегрузить страничку |
|
не понял, что Ты имеешь ввиду
вся функциональность которая мне нужна на данный момент: есть веб-страничка, на которой есть три кнопки: День, Месяц, Год под ними есть таблица, на семь элементов, где должны отображаться подряд даты в формате "день число" начиная с текущей. плюс есть ещё две кнопки: Next, Previous которые должны менять отображение дат (если нажата кнопка день - то добавлять/отнимать один день, если нажата кнопка месяц - то отнимать/добавлять один месяц, если нажата кнопка год - то отнимать/добавлять один год) поэтому я считал, что значения какая кнопка нажата (ДЕНЬ, МЕСЯЦ, ГОД) и текущая для приложения дата должны быть инициализированы в контроллере, а после переданы в форму, которая будет их отображать. Но для этого необходимо иметь возможность их менять при нажатии на эти кнопки и заново вызывать действие index в контролере для перегрузки страницы... а тот пример, который я описал выше, так я нашёл его в инете и пытался приспособить под свои нужды... но просто не знаю как. |
|
| 2008-08-27 10:54:40 | Ответить |
|---|---|
|
Ruslan Voloshin Адрес: odessa Сообщений: 1293 Регистр: 2007-03-13 его блог 40 сообщ. |
RE: Как из erb-файла поменять переменную определённую в контроллере и перегрузить страничку |
|
мне кажется что тебе надо вызывать rjs елси я правильно понял
------------
logout.js.rjs Занимаюсь вебом и продвижением сайтов.
|
|
| page.redirect_to, page.replace_html, page.show |
| 2008-08-27 11:00:09 | Ответить |
|---|---|
|
Евгений Ворошилов Адрес: Львов Сообщений: 13 Регистр: 2008-08-08 его блог 0 сообщ. |
RE: Как из erb-файла поменять переменную определённую в контроллере и перегрузить страничку |
|
Руслан, можешь подсказать какой-то пример с logout.js.rjs или где можно найти его описание?
|
|
| 2008-08-27 11:15:01 | Ответить |
|---|---|
|
Roman V. Babenko Адрес: Kyiv Сообщений: 309 Регистр: 2008-04-22 его блог 6 сообщ. |
RE: RE: Как из erb-файла поменять переменную определённую в контроллере и перегрузить страничку |
|
Отдавать/получать данные контроллеру ты можеш только через параметры.
------------
Контроллер ничего не узнает об изменении его переменных во view. Твой пример будет всегда отдавать все митинги не зависимо от даты. Я написал тебе пример как можно решить твою задачу. Если тебе нужен просто календарик, то возможно вот это тебе поможет http://wiki.rubyonrails.org/rails/pages/DynamicCalendarHelper Использование JavaScript это уже вопрос десятый. http://romanvbabenko.blogspot.com
Если в споре не родилась истина, то, по крайней мере, один из спорящих бесплоден.
|
|
| 2008-08-27 13:51:43 | Ответить |
|---|---|
|
Евгений Ворошилов Адрес: Львов Сообщений: 13 Регистр: 2008-08-08 его блог 0 сообщ. |
RE: Как из erb-файла поменять переменную определённую в контроллере и перегрузить страничку |
|
Пробую сделать по твоему совету, однако этот кусок не получается:
в таком варианте: оно мне просто формирует такую html: кроме того, даже если я оставляю такой вариант: то перегружая страницу, значение params[:ooo] всё-равно становится nil я это проверял: что я делаю не так? |
|
| 2008-08-27 15:14:44 | Ответить |
|---|---|
|
Roman V. Babenko Адрес: Kyiv Сообщений: 309 Регистр: 2008-04-22 его блог 6 сообщ. |
RE: RE: Как из erb-файла поменять переменную определённую в контроллере и перегрузить страничку |
|
Скобок фигурных ставиш много. Документацию на link_toглянь.
------------
controller view http://romanvbabenko.blogspot.com
Если в споре не родилась истина, то, по крайней мере, один из спорящих бесплоден.
|
|