Доступ к хэшу params для года и месяца и использование в помощнике - PullRequest
0 голосов
/ 31 января 2011

Итак, я взял php-код и превратил его в календарь с помощником для создания простого календаря.

Я получил данные из помощника:

 def calendar_maker
 a = Time.now
 b = a.month
 d = a.year
 h = Time.gm(d,b,1) #first day of month

Теперь я хочу попробовать это сделать с параметрами в моем методе

 #from the helper file
 def calendar_maker(year, month)
 a = Time.now
 b = month
 c = year
 h = Time.gm(d,b,1) #first day of month

#from my html.erb file
<%= @month %> and <%= @year %>
<%= params["month"] %><br />
<%= params["action"] %><br />
<%= params["year"] %><br />
<%= calendar_maker( @year, @month) %>

#from controller file
def calendar
  @month = params[:month]
  @year = params[:year]
end

В любом случае были допущены ошибки и не найдены документы нигде или не в нужном месте. Как мне заставить это работать с моим хэшем params, используя переменные экземпляра @month и @year из контроллера и мои локальные параметры в моем методе calendar_maker год и месяц. Должен ли я просто извлечь значение из хэша params и присвоить его непосредственно переменной экземпляра в моем помощнике или контроллере? Спасибо за помощь.

1 Ответ

1 голос
/ 31 января 2011

Вы пометили это как Rails, и есть erb, так что я предполагаю, что это правда. Вы должны взглянуть на всех тех самых приятных помощников, которые Rails может предложить. Вам просто не нужно делать это.

В частности, beginning_of_month полностью заменяет ваши calendar_maker вещи, если я правильно понимаю. Таким образом, вы можете сделать Date.today.beginning_of_month, чтобы заменить вашего помощника.

Если у вас есть действие контроллера с именем #calendar и файл представления с именем html.erb, ваш файл представления по умолчанию не будет отображаться, так как он не соответствует правильному соглашению об именах. Вы бы хотели назвать файл erb calendar.html.erb. Возможно, вы сделали это и урезали имя в своем примере кода.

Если вы будете более точны в том, что именно идет не так, вы получите более полезную обратную связь. Какие ошибки вы видите? Что вы получили в отличие от того, что вы ожидали получить. Такого рода вещи.

Да, и у Rails есть date_select и datetime_select, если вы просто ищете быстрый способ получить эту информацию в форме.

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