Для полей моего профиля, таких как Этническая принадлежность. Пользователь 1 выбрал «азиат» в качестве своей этнической принадлежности. В базе данных пользователей будут отображаться номера для выбранной этнической принадлежности (например, азиаты = 1, голландцы = 2 и т. д. в зависимости от порядка этнических групп в списке параметров), а база данных поиска распознает только саму этническую принадлежность... а не число за этническую принадлежность. Таким образом, поиск пытается найти пользователей с выбранным азиатским происхождением, но технически их нет, поскольку база данных пользователей использует номер, а не название этнической принадлежности.
Я считаю, что моя база данных пользователей показывает числа, потому что это то, что используется в форме с драгоценным камнем best_in_place.
показать.html:
<p>Ethnicity: <%= best_in_place @user, :ethnicity, nil: 'What is your ethnicity?', :type => :select, :collection => [[1, "Asian"], [2, "Biracial"], [3, "Indian"], [4, "Hispanic/Latin"], [5, "Middle Eastern"], [6, "Native American"], [7, "Pacific Islander"], [8, "White"], [9, "Other"]] %></p>
Я пробовал делать:
collection: ["Asian", "Biracial", "Indian"]
а также
collection: [ ["Asian", "Asian"], ["Biracial", "Biracial"], ["Indian", "Indian"]]
Если я сделаю первый пример, опция, которая должна читаться как «азиат», вместо этого будет читать «s».
Во втором примере не отображаются никакие параметры, поэтому это просто пустой раскрывающийся список.
Кто-нибудь знает, как я могу сохранить эти параметры в базе данных пользователя в качестве фактического параметра, а не чисел?
схема:
create_table "searches", :force => true do |t|
t.string "gender"
t.string "age"
t.string "zip_code"
t.string "children"
t.string "religion"
t.string "ethnicity"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end
create_table "users", :force => true do |t|
t.string "email"
t.string "password_digest"
t.string "zip_code"
t.string "birthday"
t.string "name"
t.string "username"
t.string "gender"
t.string "ethnicity"
t.string "sexuality"
t.string "career"
t.string "education"
t.string "religion"
t.string "politics"
t.string "children"
t.string "height"
t.string "user_smoke"
t.string "user_drink"
t.string "about_me"
t.string "inches"
t.string "feet"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.string "auth_token"
t.string "password_reset_token"
t.datetime "password_reset_sent_at"
t.boolean "admin"
t.string "role"
t.integer "roles_mask"
t.string "age"
t.string "age_end"
end