Я работаю с Geolocation, и в моей базе данных сохранена строка User Agent, как показано ниже:
Mozilla / 5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit / 537.36 (KHTML), как Gecko) Chrome / 68.0.3440.106 Safari / 537.36
В этом случае из приведенной выше строки информация, которую я хотел бы вывести в своих представлениях, - Macintosh; Intel Mac OS X 10_13_6
.Таким образом, во внешнем интерфейсе / представлениях я не хочу выводить все данные как их в базе данных.Все, что я хочу извлечь из этой информации, это просто показать устройство, которое пользователь использовал для входа в приложение, и я не знаю, как я покажу только то, что я хочу.Буду признателен за любую помощь или указатель на то, что я должен сделать.
view
.row
.panel.panel-primary
.panel-heading
span = t('admin_header.traffics')
.panel-body
= table_for(@traffic, class: 'table table-condensed table-hover') do |t|
- t.column :ua, 'Device Used', class: 'col-xs-1' # But this shows all the string which I do not want, I only want specific details from it.
Вот код, который сохраняет строку User Agent в базу данных:
def save_signup_history(member_id)
SignupHistory.create(
member_id: member_id,
email: @member.email,
ip: request.remote_ip,
accept_language: request.headers["Accept-Language"],
ua: request.headers["User-Agent"], #Here is User Agent
login_location: get_ip_location
)
end
Единственное, о чем я могу думать, это использовать метод .remove
, но я не думаю, что это лучшее решение моей проблемы.