如何将javascript变量保存到Ruby-on-Rails中的数据库?

时间:2019-01-18 14:57:35

标签: javascript ruby-on-rails model

我想将一个javascript变量保存到数据库。我在网上看到了无数视频,但它们都围绕着“帖子”,就像博客帖子一样,您将标题和正文放在两个单独的表单字段中。但是,如果您要保存不使用表单的javascript变量怎么办?

我正在考虑一种变通方法,在该方法中,我将使用视频来处理

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

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

然后我将以编程方式在文本字段中插入变量,然后按提交按钮并使用CSS隐藏表单。

但是显然,我希望有一种更简单的方法。 谢谢

1 个答案:

答案 0 :(得分:0)

可能您可以使用text_field_tag,这是示例reference

<%= 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">

第一个text_field将允许用户键入值
  如果您不希望用户更改值
  但是您可以使用javascript进行更改,也可以使用readonly = true作为上面的第二个示例

与此同时,您可以从控制器中通过params [: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