我在rails中的联系人表单中收到此错误:

First argument in form cannot contain nil or be empty

View:

     <%= form_for @contact do |f| %>
     and so on.......

Controller

def new
    @contact = Contact.new
end
 and so on....

我发现了相关的错误,但没有一个解决方案适合我的特定问题.有什么线索可以说明是什么原因造成的吗?

推荐答案

错误消息告诉您不能有以下内容:

<%= form_for nil do |f| %>
<%= form_for [] do |f| %>

我的猜测是,你的@contact被设置为nil,而不是来自你的Contact#new动作.

仅供参考,如果您这样做,它将简单地工作:

<%= form_for Contact.new do |f| %>

虽然是not recommended.

您需要判断包含表单的视图是否由ContactsControllernew个动作实际呈现.

Ruby-on-rails相关问答推荐

在PDF生成中渲染 colored颜色

包含字母和数字组合的正则表达式

线程如何在 Web 应用程序中工作?

您如何查看在 Rails 中触发回调的关联模型?

验证模型属性大于另一个

在 Rails 3.2 中更新多行

Rails 发现获取 ActiveRecord::RecordNotFound

默认情况下,如何在 Rails 中使 cookie 安全(仅限 https)?

DateTime.now 还是 Time.now?

Rails - 从日期和时间戳获取日期

Rails 3 中的猴子补丁

关于在不适合任何地方的 Rails 应用程序中放置类的指南

Rails:从视图内渲染视图(不是部分视图)

Elastic Beanstalk Ruby/Rails 需要安装 git,所以 bundle install 可以工作.. 但不是

Rails:立即渲染并退出

在 ruby​​ on rails 中创建自定义 html 助手

Rails HABTM - 正确删除关联

何时使用 Helpers 而不是 Partials

默认情况下 haml

ruby on rails 如何处理 NaN