Ruby On Rails in UA Icon_home Главная Add to bookmarks Translate translate Profile Войти
Регистрация Форум Блоги Пользователи Список джемов Rails проекты      Поиск   

Ruby On Rails in UA/RJS, Ajax, WEB 2.0, CSS, JAVASCRIPT/Как из erb-файла поменять переменную определённую в контроллере и перегрузить страничку

2008-08-27 09:31:58 Ответить  
veug
Евгений Ворошилов
Адрес: Львов
Сообщений: 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 и дата становится текущей. Изменений не происходит. Как мне это обойти?
, ,
2008-08-27 09:33:17 Ответить  
veug
Евгений Ворошилов
Адрес: Львов
Сообщений: 13
Регистр: 2008-08-08
его блог 0 сообщ.
RE: Как из erb-файла поменять переменную определённую в контроллере и перегрузить страничку
  •  
дополнение:
описание кнопки:

2008-08-27 09:34:50 Ответить  
veug
Евгений Ворошилов
Адрес: Львов
Сообщений: 13
Регистр: 2008-08-08
его блог 0 сообщ.
RE: Как из erb-файла поменять переменную определённую в контроллере и перегрузить страничку
  •  


описание кнопки ввожу через пробелы, поскольку иначе оно не отображается
2008-08-27 09:54:18 Ответить  
romb
Roman V. Babenko
Адрес: Kyiv
Сообщений: 309
Регистр: 2008-04-22
его блог 6 сообщ.
RE: Как из erb-файла поменять переменную определённую в контроллере и перегрузить страничку
  •  
Код пиши в теге code. Читать трудно.

Во первых даже если поменяеш дату то все расно ничего не получиться
У тебя условий нету все время возвращаються все события

Заведи переменную типа current_date и отсылай ее контроллеру. В коде кнопки взад/вперед добавляй/отнимай переменной шаг. В контроллере проверяй значение.



------------
http://romanvbabenko.blogspot.com Если в споре не родилась истина, то, по крайней мере, один из спорящих бесплоден.
2008-08-27 10:52:10 Ответить  
veug
Евгений Ворошилов
Адрес: Львов
Сообщений: 13
Регистр: 2008-08-08
его блог 0 сообщ.
RE: Как из erb-файла поменять переменную определённую в контроллере и перегрузить страничку
  •  
не понял, что Ты имеешь ввиду
вся функциональность которая мне нужна на данный момент:
есть веб-страничка, на которой есть три кнопки: День, Месяц, Год
под ними есть таблица, на семь элементов, где должны отображаться подряд даты в формате "день число" начиная с текущей.
плюс есть ещё две кнопки: Next, Previous которые должны менять отображение дат (если нажата кнопка день - то добавлять/отнимать один день, если нажата кнопка месяц - то отнимать/добавлять один месяц, если нажата кнопка год - то отнимать/добавлять один год)
поэтому я считал, что значения какая кнопка нажата (ДЕНЬ, МЕСЯЦ, ГОД) и текущая для приложения дата должны быть инициализированы в контроллере, а после переданы в форму, которая будет их отображать. Но для этого необходимо иметь возможность их менять при нажатии на эти кнопки и заново вызывать действие index в контролере для перегрузки страницы...

а тот пример, который я описал выше, так я нашёл его в инете и пытался приспособить под свои нужды... но просто не знаю как.
2008-08-27 10:54:40 Ответить  
admin
Ruslan Voloshin
Адрес: odessa
Сообщений: 1293
Регистр: 2007-03-13
его блог 40 сообщ.
RE: Как из erb-файла поменять переменную определённую в контроллере и перегрузить страничку
  •  
мне кажется что тебе надо вызывать rjs елси я правильно понял

logout.js.rjs
------------
Занимаюсь вебом и продвижением сайтов.
, ,
2008-08-27 11:00:09 Ответить  
veug
Евгений Ворошилов
Адрес: Львов
Сообщений: 13
Регистр: 2008-08-08
его блог 0 сообщ.
RE: Как из erb-файла поменять переменную определённую в контроллере и перегрузить страничку
  •  
Руслан, можешь подсказать какой-то пример с logout.js.rjs или где можно найти его описание?
2008-08-27 11:15:01 Ответить  
romb
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 Ответить  
veug
Евгений Ворошилов
Адрес: Львов
Сообщений: 13
Регистр: 2008-08-08
его блог 0 сообщ.
RE: Как из erb-файла поменять переменную определённую в контроллере и перегрузить страничку
  •  
Пробую сделать по твоему совету, однако этот кусок не получается:



в таком варианте:

оно мне просто формирует такую html:


кроме того, даже если я оставляю такой вариант:


то перегружая страницу, значение params[:ooo] всё-равно становится nil
я это проверял:


что я делаю не так?
2008-08-27 15:14:44 Ответить  
romb
Roman V. Babenko
Адрес: Kyiv
Сообщений: 309
Регистр: 2008-04-22
его блог 6 сообщ.
RE: RE: Как из erb-файла поменять переменную определённую в контроллере и перегрузить страничку
  •  
Скобок фигурных ставиш много. Документацию на link_toглянь.

controller



view



------------
http://romanvbabenko.blogspot.com Если в споре не родилась истина, то, по крайней мере, один из спорящих бесплоден.
Назадназад Новыйновый Ответитьответить
Ключевые слова:
Гости: 92 Онлайн: 0
Rambler's Top100
О проекте по всем вопросам обращайтесь на support
Rubyclub.com.ua Copyright © 2007 - 2008