html - Rails 形式的文本区域

标签 html ruby-on-rails

我在 Rails 中有一个 HTML 表单:

<form id="my_form" action="submit">
  Title: <input type="text" name="title"> 
</form> 

我想使用 <textarea> 添加一个新字段:

Comment: <textarea rows="4" cols="50"></textarea>

把这个写到表格里可以吗?如何访问用户填写的值?

最佳答案

除非您有充分的理由不这样做,否则您应该真正使用 Rails 提供的操作 View 助手。

form helpers提供面向资源的方法,围绕特定模型对象创建表单和范围,但这不适合您的情况。

您想要的是使用通用 form tag helpers ,其中包括不绑定(bind)到任何特定模型或记录的表单方法的通用版本,例如:form_tag , text_field_tag , text_area_tag等。这些方法不需要您将记录传递给它们或根据特定模型定义它们;您可以定义任意操作、ID 等,如下所示:

<%= form_tag "submit", :id => "my_form" do -%>
  Title: <%= text_field_tag "title" %>
  Comment: <%= text_area_tag "comment", :rows => 4, :cols => 50 %>
  <%= submit_tag "Submit" %>
<% end -%>

请注意,您的 textarea 上没有 nameid,因此我任意为它们分配了字符串 "comment",这对这种情况有意义。

就访问用户输入的值而言,您只需像任何其他形式一样进行操作,即在您的 Controller 中,您只需访问 params[:title]params[ :comment]

关于html - Rails 形式的文本区域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13537700/

相关文章:

ruby-on-rails - 在 Controller 测试中使用通过 Active Storage 上传的图像创建对象时遇到问题

ruby-on-rails - 无法在 Rails 3 的文本字段中显示小数

ruby-on-rails - 我如何遍历哈希的哈希?

html - 为什么这段文字太远了? (HTML/CSS)

javascript - 保留旧图像,直到新图像准备好更新

javascript - iframe 中的响应式网站

ruby-on-rails - 从脚本/运行程序禁用 Rails 日志记录

ruby-on-rails - 如何从 Rails 中的 npm 包加载 svg?

html - CSS Wrapper div 不工作

jquery - 检查 Jquery 是否存在相似(但不完全)的类