如何解决Rails-表现奇怪的表单:不保存任何text_field
|| 在Rails的Matteo Alessani解决了我的问题后-在表单中找不到ID,我注意到我的表单没有保存我传递的字段。 我将在这里复制我从另一个问题获得的所有代码: 路线:resources :honors
模型:
class Honor < ActiveRecord::Base
belongs_to :person,:class_name => \'Person\',:foreign_key => \"person_id\"
belongs_to :honored,:foreign_key => \"honored_id\"
belongs_to :group,:class_name => \'Group\',:foreign_key => \"group_id\"
控制器:
def new
@person = Person.find(params[:person])
@honored = Person.find(params[:honored])
@group = Group.find(params[:group_id])
@honor = Honor.new
end
def create
@person = Person.find(current_person)
@honor = Honor.save(:group_id => params[:honor][:group],:person_id => params[:honor][:person],:honored_id => params[:honor][:honored])
if @honor.valid?
flash[:success] = \"Honor created.\"
redirect_to (:back)
else
redirect_to (:back)
end
end
在视图中:
<% @asked_groupmembership.each do |agm| %>
<%= link_to \"Create Honor\",new_honor_path(:group_id => @group.id,:person => current_person.id,:honored => agm.member.id) %>
我的表格:
<% form_for @honor do |f| %>
<%= f.hidden_field :group_id,:value => @group.id %>
<%= f.hidden_field :person,:value => current_person.id %>
<%= f.hidden_field :honored,:value => @honored.id %>
<div class=\"field\">
<%= f.label :texto %><br />
<%= f.text_field :texto %>
</div>
而且错误是我可以从group
和person
以及honored
那里获得ID \,但是我没有在表格中键入任何内容(我的属性是葡萄牙语,所以我不会翻译):
INSERT INTO \"honors\" (\"group_id\",\"person_id\",\"honor_id\",\"texto\",\"nota\",\"nivel_habilidade\",\"comprometimento\",\"tempo_demora\",\"criatividade\",\"organicazao\",\"comunicacao\",\"trabalho_grupo\",\"created_at\",\"updated_at\") VALUES (39,2,44,NULL,\'2011-05-26 12:58:56.433510\',\'2011-05-26 12:58:56.433510\')
RETURNING \"id\".
注意:日志中的参数带有值。
谢谢!
解决方法
您的控制器有误
def create
@person = Person.find(current_person)
@honor = Honor.new(params[:honor])
if @honor.save
flash[:success] = \"Honor created.\"
redirect_to (:back)
else
redirect_to (:back)
end
end
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。