Rails 大师的简单问题。为什么我必须在我的 VideosController 的以下创建方法中使用以下语句插入新的 Mongoid 文档:params[:video][:description]?为什么我不能使用 POST 表单中的 params[:description]?如果我使用它,该值将变为 nil。
def create
@video = Video.new(
:title => params[:video][:title],
:description => params[:video][:description]
)
if @video.save
render 'success'
else
render 'error'
end
end
这是 Video.rb 类:
class Video
include Mongoid::Document
field :title, type: String
field :description, type: String
validates_presence_of :title
validates_presence_of :description
acts_as_url :title
end
最后是表单视图:
<%= form_for @video do |f| %>
<%= f.label :title %>
<%= f.text_field :title %>
<p/>
<%= f.label :description %>
<%= f.text_field :description %>
<%= submit_tag("Enqueue video") %>
<% end %>
我不太明白为什么表单输入是 video[description] 而不仅仅是预期的描述:
<label for="video_title">Title</label>
<input id="video_title" name="video[title]" type="text" />
<p/>
<label for="video_description">Description</label>
<input id="video_description" name="video[description]" type="text" />