gpt4 book ai didi

ruby-on-rails - 为新客户记录创建操作时提交的空记录

转载 作者:太空宇宙 更新时间:2023-11-03 16:33:20 25 4
gpt4 key购买 nike

我完全不是 Rails 的菜鸟,但我一直在自学,我似乎能够自己解决简单的问题。但是我现在有一个问题似乎无法解决。当我在填写完表单上的所有字段后调用“新建”或“创建”操作来创建新记录时,我得到了提交到数据库的空白记录。所有字段均为“空”。

INSERT INTO `clients` (`accountholder`, `allergies`, `birthdate`, `cell`, `created_at`, `data1`, `data2`, `data3`, `data4`, `emailaddress`, `fax`, `middlename`, `name`, `surname`, `tel`, `text`, `updated_at`) VALUES (NULL, NULL, NULL, NULL, '2012-08-20 09:10:46', NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, '2012-08-20 09:10:46') 

我可以在 @post = Client.update_attributes(params[:id]) 中的控制台上看到日志转储期间的数据是正确的。

客户端 Controller .rb

def new
@post = Client.create
end

def create
@post = Client.new(params[:posts])

if @post.save
redirect_to clients_path
else
render "new"
end
end

index.html.erb

<%= form_for @post do |x| %>
<p>
<%= x.label :name %><br />
<%= x.text_field :name, :cols => "30", :rows => "1" %>
</p>

<p>
<%= x.label :surname %>
<%= x.text_area :surname, :cols => "30", :rows => "1" %>
</p>

<p>
<%= x.label :middlename %>
<%= x.text_area :middlename, :cols => "30", :rows => "1" %>
</p>

<p>
<%= x.label :tel %>
<%= x.text_area :tel, :cols => "30", :rows => "1" %>
</p>

<p>
<%= x.label :cell %>
<%= x.text_area :cell, :cols => "30", :rows => "1" %>
</p>

<p>
<%= x.label :allergies %>
<%= x.text_area :allergies, :cols => "30", :rows => "10" %>
</p>

<p>
<%= x.label :fax %>
<%= x.text_area :fax, :cols => "30", :rows => "1" %>
</p>

<p>
<%= x.label :birthdate %>
<%= x.text_area :birthdate, :cols => "30", :rows => "1" %>
</p>


<p>
<%= x.submit "Add a New Client" %>
</p>
<% end %>

如有任何建议,我们将不胜感激。

最佳答案

@post = Client.new(params[:posts])

应该是:

@post = Client.new(params[:client])

params[:posts] 未定义,因此为 nil。这就像调用 Client.new(),意味着属性默认为 NULL。

类名是 Client,您尝试创建的客户端是单数的,因此是 client。在 Rails 中,通常将客户端的集合称为客户端,客户端就是客户端。

这就是为什么默认情况下,index 操作使用 @clients(因为它是复数),而 show 操作使用 @client

关于ruby-on-rails - 为新客户记录创建操作时提交的空记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12035239/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com