Как сохранить переменную JavaScript в базе данных в Ruby-on-Rails? - PullRequest
0 голосов
/ 18 января 2019

Я хочу сохранить переменную javascript в базе данных. Я видел множество онлайн-видео, но все они вращаются вокруг «Поста», такого как пост в блоге, где вы помещаете заголовок и тело в два отдельных поля формы. Но что, если вы хотите сохранить переменную javascript без использования форм?

Я подумываю обойти эту проблему, чтобы сделать то же, что и с видео

.
<%= form_for @post do |f| %>
<%= f.label :variable_name %>:
<%= f.text_field :variable_name %><br />

<%= f.submit %>
<% end %>

И тогда я бы программно вставил переменную в текстовое поле и нажал кнопку отправки и скрыл форму с помощью css.

Но, очевидно, я бы предпочел более простой способ. Спасибо

1 Ответ

0 голосов
/ 18 января 2019

, вероятно, вы можете использовать text_field_tag, а вот пример ссылка

<%= form_for @post do |f| %>
  <%= f.label :variable_name %>:
  <%= f.text_field :variable_name %><br />

  # use text_field_tag instead of f.text_field
    <%= text_field_tag 'my_var', "", class: "class_name" %>
    <%= text_field_tag 'my_var', "", class: "class_name", :readonly => true %>
  <%= f.submit %>
<% end %>

Я дал вам два примера, и text_field_tag ​​сгенерирует HTML-код ниже

<input type="text" name="my_var" id="my_var" class="class_name" readonly="readonly">

первое текстовое поле позволит пользователю ввести значение
если вы не хотите, чтобы пользователь изменил значение
но вы можете изменить его с помощью JavaScript, который вы можете использовать readonly = true, как второй пример выше

тем временем с вашего контроллера вы можете получить к нему доступ через параметры [: my_var], как показано ниже

  def create
    @post = Post.new(post_params)
    var1  = params[:my_var]
    # here you can process var1 and you don't have to have a field for var1 in your database
    ...
  end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...