我想将一个javascript变量保存到数据库。我在网上看到了无数视频,但它们都围绕着“帖子”,就像博客帖子一样,您将标题和正文放在两个单独的表单字段中。但是,如果您要保存不使用表单的javascript变量怎么办?
我正在考虑一种变通方法,在该方法中,我将使用视频来处理
<%= form_for @post do |f| %>
<%= f.label :variable_name %>:
<%= f.text_field :variable_name %><br />
<%= f.submit %>
<% end %>
然后我将以编程方式在文本字段中插入变量,然后按提交按钮并使用CSS隐藏表单。
但是显然,我希望有一种更简单的方法。 谢谢
答案 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