【问题标题】:argument in form cannot contain nil or be empty Rails 4表单中的参数不能包含 nil 或为空 Rails 4
【发布时间】:2014-10-07 09:18:34
【问题描述】:

我的表单中的第一个参数不能包含 nil 或我的表单代码为空问题

我在控制器中定义为

   class AdminController < ApplicationController
  def new
    @dashboard_user = DashboardUser.new
  end
  def create
    @dashboard_user = DashboardUser.new(dashboard_params)
    @dashboard_user.save!
  end
  def user_creation

  end
  private
  def dashboard_params
  params.require(:dashboard_user).permit(:user_name, :password, :last_name, :first_name, :middle_name , :phone)
  end
end

对于表格

<%= form_for @dashboard_user, url: "/admin/user_creation", method: "post" do |f| %>

但我收到此错误,是否有任何地方我犯了错误或我忽略了一些基本的事情?

P.S 我在提交表单后重定向到同一页面

routes.rb

Rails.application.routes.draw do
  resources :admin, :only => [:create, :new] do
    post 'user_creation', on: :collection
    get 'user_creation', on: :collection
    end
end

倾斜路线

Prefix Verb URI Pattern                    Controller#Action
user_creation_admin_index POST /admin/user_creation(.:format) admin#user_creation
                          GET  /admin/user_creation(.:format) admin#user_creation
              admin_index POST /admin(.:format)               admin#create
                new_admin GET  /admin/new(.:format)           admin#new
                     root GET  /                              admin#new

【问题讨论】:

  • 下划线。看字符是一项关键的调试技能。
  • @RSB 兄弟你能检查一下吗?
  • 如果您“在提交表单后重定向到同一页面”,那么您需要提供更多信息。这个错误是第一次还是第二次?您要重定向到什么具体?相关路线是什么?等等。
  • 第一次打开链接时出现这个错误 localhost:3000/admin/user_creation ..
  • 为什么new 甚至会使用您提供的路线?运行rake routes——看到问题了吗?另外,看看附加信息对提供可操作的建议有何关键

标签: ruby-on-rails-4.1


【解决方案1】:

好的,我得到了答案,我需要使用与包含我的表单的视图相对应的控制器操作。我的表单是 user_creation,所以我需要创建一个函数 def user_creation 来完成这项工作

def create
    @dashboard_user = DashboardUser.new(dashboard_params)
    @dashboard_user.save!
  end
  def user_creation

  end

我的视图名称是 user_creation,所以如下更改控制器解决了我的问题

 def create

    end
    def user_creation
    @dashboard_user = DashboardUser.new(dashboard_params)
    @dashboard_user.save!
    end

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-13
    • 1970-01-01
    相关资源
    最近更新 更多