У меня есть формы, созданные для регистрации пользователей. Код, который я должен выводить, не работает так, как мне хотелось бы. Для дня рождения и возраста, который вас интересует (сайт знакомств) .. он не выводит результаты должным образом. Для дня рождения, когда пользователь переходит к редактированию настроек учетной записи, он должен отображать 1-9-1956, а не только 1956. Для возраста он должен отображать от 35 до 48, а не только 48. Может ли кто-нибудь помочь мне с этим?

Settings.html.erb (изменить настройки учетной записи):

<p>Email: <%= best_in_place @user, :email %></p>
<p>Password: <%= best_in_place @user, :password %></p>
<p>Password Confirmation: <%= best_in_place @user, :password_confirmation %></p>
<p>Zip Code: <%= best_in_place @user, :zip_code %></p>
<p>Birthdate: <%= best_in_place @user, :birthday %></p>
<p>Age: <%= best_in_place @user, :age %></p>

New.html.erb (страница регистрации):

            <div class="field">
                <%= f.label :age %>
                <%= f.text_field :age %> to 
                <%= f.text_field :age %>
            </div>
            <div class="field">
                    <%= f.label :birthday %>
                    <%= f.select :birthday, [['mm', nil], '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12']%>

                    <%= f.select :birthday, [['dd', nil], '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23', '24', '25', '26', '27', '28', '29', '30', '31']%>

                    <%= f.select :birthday, [['yyyy', nil], '1995', '1994', '1993', '1992', '1991', '1990', '1989', '1988', '1987', '1986', '1985', '1984', '1983', '1982', '1981', '1980', '1979', '1978', '1977', '1976', '1975', '1974', '1973', '1972', '1971', '1970', '1969', '1968', '1967', '1966', '1965', '1964', '1963', '1962', '1961', '1960', '1959', '1958', '1957', '1956', '1955', '1954', '1953', '1952', '1951', '1950', '1949', '1948', '1947', '1946', '1945', '1944', '1943', '1942', '1941',
'1940', '1939', '1938', '1937', '1936', '1935', '1934', '1933', '1932',
'1931', '1930' ]%>
                    </div>
0
pwz2000 21 Мар 2013 в 23:48

1 ответ

Лучший ответ

Я просто дам 2 указателя:

  1. Используйте date_select для ввода дат.
  2. Каждый вход должен иметь другое имя. У вас есть два текстовых поля с названием «возраст».
2
highBandWidth 22 Мар 2013 в 00:02
Спасибо за указатель. Это действительно экономит время, однако нарушает работу приложения для регистрации новых пользователей, поскольку теперь при регистрации я получаю ошибку «1 ошибка (я) при назначении многопараметрических атрибутов».
 – 
pwz2000
22 Мар 2013 в 18:30
1
Я думаю, что у datetime_select есть некоторые проблемы в Rails, которые выдают эти ошибки. Вы можете использовать свой собственный подход и иметь отдельные поля, просто убедитесь, что вы присвоили разные имена дню, месяцу и году.
 – 
highBandWidth
22 Мар 2013 в 22:19
Да, я вернулся к тому, что у меня было изначально, и присвоил другие имена. Спасибо
 – 
pwz2000
22 Мар 2013 в 22:23