我想创建一个表单来提交创建模型X实例所需的信息并将其保存到数据库中,但我有一个小问题:我知道如何添加表单字段,如文本区域和什么不是然后如何在调用create方法时使这些值可访问,但如果我还想发送一个不属于表单可访问的值的内容呢?例如,如果我希望能够访问我的html文档的<div>
中的某些文本并将其发送到模型X的create方法(因此它可以像内容变量或其他内容一样存储),该怎么办?我该怎么做?
答案 0 :(得分:0)
简短的回答是你不能 - 将数据发送到服务器,它必须在表单字段中。
更长的答案 - 有很多方法可以解决这个问题,你有几个选择 - 将文本放在textarea中并将其设置为看起来像div,或者在创建模板时将其放在隐藏字段中,或使用javascript复制它进入一个隐藏的领域......一切都取决于你想要做的事情。也许你可以提供更多细节?
答案 1 :(得分:0)
在您的模型中,您想使用attr_accessor
您可以使用attr_accessor
创建一个可以在模型中使用的虚拟属性,但在此之后将被丢弃。
例如:
应用程序/ models.post.rb
class Post < ActiveRecord::Base
attr_accessor :some_variable
#now you can access 'some_variable' this variable in the model
#try Post.some_variable in the console
end
应用程序/视图/帖/ _form.html.erb
<div id="form">
<div class="field">
<%= f.label :some_variable %>
<%= f.text_field :some_variable %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
</div>