с текстом: 
                  
                  
                  <%= f.hidden_field :tracking_info, value: params[:ti] %>
                  
                  
                  
                  
                  
                  Формируется такой html который формируется: 
                  
                  
                  <input value="{"roistat_id"=>"12345", "utm_sourсe"=>"Instagram"}" type="hidden" name="user[tracking_info]" id="user_tracking_info">
                  
                  
                  
                  
                  
                  И мне нужно сохранить из input вот это:
                  
                  
                  "{"roistat_id"=>"12345", "utm_sourсe"=>"Instagram"}" в модель user в формате hash или jsonb. 
                  
                  
                  
                  
                  
                  Миграция
                  
                  
                  add_column :users, :tracking_info, :jsonb, default: '{}'
                  
                  
                  
                  
                  
                  
                  
                  
                  Но это поле сохраняется как string с такими штуками: «\»
                  
                  
                  
                  
                  
                   pry(main)> user.tracking_info
                  
                  
                  => "{\"roistat_id\"=>\"12345\", \"utm_sourсe\"=>\"Instagram\"}"
                  
                  
                  
                  
                  
                  user.tracking_info.class
                  
                  
                  => String
                  
                  
                  
                  
                  
                  Как сохранаять в JSON или hash в этом случае? 
                  
                  
                  Форму менять нужно или обрабатывать поле при сохранении?
                  
                  
                
When the source is a Ruby String, JSON.generate returns a String containing a JSON string (with double-quotes): JSON.generate('A string') # => '"A string"'
https://ruby-doc.org/stdlib-3.0.2/libdoc/json/rdoc/JSON.html
Обсуждают сегодня