Rails 提供了一系列的表单帮助方法,以帮助开发者创建和处理表单。下面是一些常见的类型及使用示例:
-
文本框:
text_field
,适合于输入单行文本数据。
-
# ruby <%= form.text_field :name %>
-
多行文本框:
text_area
,适合于输入多行文本数据。 -
# ruby <%= form.text_area :description %>
-
下拉列表框:
select
,适合于从若干选项中选择一个。 -
# ruby <%= form.select :age, [18, 19, 20, 21, 22] %>
-
单选框:
radio_button
,适合于从若干选项中选择一个。 -
# ruby <%= form.radio_button :gender, 'male' %> <%= form.label :gender_male, 'Male' %> <%= form.radio_button :gender, 'female' %> <%= form.label :gender_female, 'Female' %>
-
复选框:
check_box
,适合于从多个选项中进行多选。 -
# ruby <%= form.check_box :hobby_reading %> <%= form.label :hobby_reading, 'Reading' %> <%= form.check_box :hobby_writing %> <%= form.label :hobby_writing, 'Writing' %>
-
文件上传:
file_field
,适合于上传文件。 -
# ruby <%= form.file_field :avatar %>
-
邮箱:
email_field
,适合于输入邮箱。 -
# ruby <%= form.email_field :email %>
-
密码框:
password_field
,适合于输入密码。 -
# ruby <%= form.password_field :password %>
-
电话号码:
tel_field
,适合于输入电话号码。 -
# ruby <%= form.tel_field :telephone_number %>
注:以上示例中的 form
指的是表单对象。例如,在新建一个物品订单的页面中,我们应该先生成一个空的 @order
对象,然后通过表单提交来保存订单的数据,如下所示:
# ruby
<%= form_for @order do |form| %>
<%= form.text_field :name %>
<%= form.text_area :description %>
<%= form.select :age, [18, 19, 20, 21, 22] %>
<%= form.radio_button :gender, 'male' %>
<%= form.label :gender_male, 'Male' %>
<%= form.radio_button :gender, 'female' %>
<%= form.label :gender_female, 'Female' %>
<%= form.check_box :hobby_reading %>
<%= form.label :hobby_reading, 'Reading' %>
<%= form.check_box :hobby_writing %>
<%= form.label :hobby_writing, 'Writing' %>
<%= form.file_field :avatar %>
<%= form.email_field :email %>
<%= form.password_field :password %>
<%= form.tel_field :telephone_number %>
<%= form.submit %>
<% end %>