Как вставить HTML в базу данных для приложения ruby ​​on rails - PullRequest
0 голосов
/ 26 декабря 2018

Привет! Я хочу добавить следующие данные в мое приложение в [Task [: color]].Любые идеи, как я могу сделать это так, чтобы значение для палитры цветов передавалось атрибуту: color?

Это плагин jQuery, с которого я установил: https://github.com/carloscabo/jquery-palette-color-picker

<input class= "color_picker" 
 type="text" 
 id ="task_color" 
 name="task[color]" 
 data-palette='["#0F8DFC","rgba(135,1,101)","#F00285","hsla(190,41%,95%,1)","#94B77E","#4C060A","#053F32","#ED8074","#788364"]' 
 value="#053F32">

В качестве альтернативы, есть ли лучший способ добавить цветовую палитру в форму.Я хотел бы иметь возможность выбирать цвета, отображаемые в цветовой палитре.

Ответы [ 2 ]

0 голосов
/ 26 декабря 2018

Вы действительно не должны хранить html / css в БД.Вы всегда можете использовать частичные вместо этого.Используйте вашу базу данных для сохранения и хранения данных / переменных, связанных с моделями, а не HTML / CSS.Место для вашего html - это представления, место, где можно выбирать, какой html отображать в ваших контроллерах.Используйте свой контроллер, чтобы решить, какая часть / представление загружается и когда и как.

Кроме того, чтение html из БД замедлит скорость отклика ваших приложений, а Rails стремится сделать текст из db html безопасным, то естьне будет вести себя как HTML прямо сейчас.Это практика безопасности, так как очень часто вставляют «вредный / плохой» код в вашу базу данных, который выполняется, когда вы восстанавливаете его и предоставляете его ничего не подозревающему пользователю.

Пожалуйста, обратитесь: https://guides.rubyonrails.org/layouts_and_rendering.html#using-partials

0 голосов
/ 26 декабря 2018

Если вы вводите этот вход в виде ваших представлений, когда оно отправлено, значение отправляется в параметрах, поэтому вы можете получить значение для своего действия следующим образом:

def process_data
  color = Task.new(color: params[:task][:color])
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...