powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Ruby on Rails - сделать подобие date_select
3 сообщений из 3, страница 1 из 1
Ruby on Rails - сделать подобие date_select
    #37515074
BPK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нужно в Ruby on Rails сделать хелпер, работающий наподобие date_select.
Т.е. во HTML-выводе View будут два поля (скажем, целая и дробная части), а атрибут в модели - один (и соответственно, одно поле в БД), в которое попадает результат некоего действия над полями ввода.

Как сделать такое?
...
Рейтинг: 0 / 0
Ruby on Rails - сделать подобие date_select
    #37515170
Фотография arni
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как вариант:
- формируете столько полей в веб-форме, сколько требуется;
- при получении данных формы в акшенах create/update, извлекаете необходимые поля из хеша params, средствами руби комбинируете их в одно значение и добавляете в тот же хеш params;
- возможно придется удалить "лишние" ключи из хеша params, если их наличие будет обламывать запись данных в модель - тут я не знаю, как рельса будет реагировать на отстствие одноименных полей;
...
Рейтинг: 0 / 0
Ruby on Rails - сделать подобие date_select
    #37516651
BPK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пока сделано как учили в интернете:

Во View:
Код: plaintext
1.
<%= f.text_field :height_ft %>
<%= f.text_field :height_in %>

В модели:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
attr_accessor :height_ft
attr_accessor :height_in

............

def before_save
  @height = @height_ft *  12  + @height_in
 end 

При таком написании ругается:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
NoMethodError in MyuserController#create

You have a nil object when you didn't expect it!
You might have expected an instance of Array.
The error occurred while evaluating nil.*

app/models/myuser.rb:112:in `before_save'
app/controllers/myusers_controller.rb:18:in `create'

Request

Parameters:

{"utf8"=>"✓",
"myuser"=>{"login"=>"fnfnfnfnn",
............
 "dob(2i)"=>"11",
 "dob(3i)"=>"8",
 "dob(1i)"=>"2010",
............
 "height_ft"=>"5",
 "height_in"=>"3",
............
 "weight"=>"30"},
 "commit"=>"Get strted!"}

Интересно посмотреть как передаётся поле dob, сформированное при помощи date_select.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Ruby on Rails - сделать подобие date_select
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]