я иметь такую форму:Передачи данных, которые пользователи не могут изменить от формы к контроллеру
<%= form_for(@book) do |f| %>
<%= f.text_area 'review' %>
<%= hidden_field_tag "book[title]", result.title %>
<%= hidden_field_tag "book[author]", result.author %>
<%= hidden_field_tag "book[pages]", result.pages %>
<%= f.submit "Add book" %>
<% end %>
В books_controller У меня есть create
действия, чтобы добавить книгу.
Я не хочу, чтобы пользователь мог изменять название, автор или страницы книги. Единственное, что я хочу сделать, это обзор.
Я знаю, что hidden_field_tags легко подделать - их можно изменить в браузерах, таких как Chrome или Firefox, путем проверки кода и изменения значения. Это приведет к тому, что пользователь сможет изменить данные.
Как передать данные в действие create
контроллера без возможности изменения данных?
Как вы получаете объект результата? – Thorin
@Thorin 'result' - это OpenStruct из внешнего API – Olivia
Я просил, чтобы это было так, потому что эти значения находятся в скрытых полях, тогда вы можете сохранить эти значения в контроллере непосредственно в методе создания или обновления, не нужно передавать в hiddens, если вы можете называть их api on create method – Thorin