【问题标题】:First argument in form cannot contain nil or be empty表单中的第一个参数不能包含 nil 或为空
【发布时间】:2013-09-23 18:26:19
【问题描述】:

我正在创建一个允许用户发布日期想法的表单。表单字段是内容(正文)和标签(类别:吃、喝、听/看、玩、探索等)。我已经设置好了,所以用户应该能够从他们的个人资料中提交表单,但是当我查看用户个人资料时,我收到了一个:表单中的第一个参数不能包含 nil 或为空。它指向 '' 来自 _form.html。还提出了 show.html ''

users_controller:

def show
    @user = User.find(params[:id])
    @letsgos = @user.letsgos.paginate(page: params[:page])
  end

【问题讨论】:

  • 这不是复数错误吗?我form_for(@letsgo)... 我想你错过了s

标签: ruby-on-rails ruby


【解决方案1】:

user_controller.rb 上,show 方法(基本上是letsgo 表单)应该初始化@letsgo 变量。

def show
   @user = User.find(params[:id])
   @letsgos = @user.letsgos.paginate(page: params[:page])
   @letsgo = current_user.letsgos.build
end

【讨论】:

  • 你完全正确!我有那个代码,虽然我的是'@letsgo = current_user.letsgos.build if signed_in?'。但是我用它来定义别的东西,而不是把它放在 def show 下。感谢您指出!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多