【发布时间】:2013-12-24 12:18:33
【问题描述】:
所以我的视图中有一个表格..
form_for(ActivityComment.new, remote: true, url: "/activity_comments/create", class: "col-md-6") do |f|
f.hidden_field :klass_name, value: activity.klass
f.hidden_field :klass_id, value: activity.id
f.text_area :comment, class: "form-control"
f.submit "Submit", class: "btn btn-success"
end
html 被打印为...
<form accept-charset="UTF-8" action="/activity_comments/create" class="new_activity_comment" data-remote="true" id="new_activity_comment" method="post">
<div style="margin:0;padding:0;display:inline">
<input name="utf8" type="hidden" value="✓">
</div>
<input id="activity_comment_klass_name" name="activity_comment[klass_name]" type="hidden" value="Friend">
<input id="activity_comment_klass_id" name="activity_comment[klass_id]" type="hidden" value="3">
<textarea class="form-control" id="activity_comment_comment" name="activity_comment[comment]"></textarea>
<input class="btn btn-success" name="commit" type="submit" value="Submit">
</form>
但是我在控制器中收到的参数是...
Parameters: {"utf8"=>"✓", "activity_comment"=>{"klass_name"=>"Friend", "klass_id"=>"3", "comment"=>""}, "commit"=>"Submit"}
活动评论模型
# == Schema Information
#
# Table name: activity_comments
#
# id :integer not null, primary key
# user_id :integer
# klass_name :string(255)
# klass_id :integer
# comment :text
# created_at :datetime
# updated_at :datetime
class ActivityComment < ActiveRecord::Base
belongs_to :user
end
comment 属性无论如何都返回空。我相信它与 textarea 有关,因为使用普通输入字段使其工作。出了什么问题,我该如何解决?
【问题讨论】:
-
当您在 HTTP 请求到达控制器之前检查它时,它是如何发送的?
-
我相信一个 POST 请求。但我需要仔细检查一下。
-
在将请求发送到控制器时检查请求是否包含来自 textarea 的表单数据。在 Chrome 中,您可以通过单击 POST 请求并查找表单数据来检查网络选项卡下的开发人员工具。查看原始请求可能会有所帮助。
-
这是一个 POST 请求。看起来评论仍然没有通过。它是唯一没有值的字段。
标签: html ruby-on-rails ruby ruby-on-rails-4 textarea