【发布时间】:2021-08-05 04:24:50
【问题描述】:
Ruby on Rails 的新手,对此我一直很头疼。我一直在这里按照本教程制作此表单以将记录保存到我的数据库中 - https://human-se.github.io/rails-demos-n-deets-2020/demo-resource-create/
这是我的控制器:
class ViewaddparamController < ActionController::Base
def view_add_param
newParam = ViewaddparamController.new
respond_to do |format|
format.html{ render :viewaddparam, locals: { newParam: newParam } }
end
end
def add_param
# new object from params
mlParam = ViewaddparamController.new(params.require(:Viewaddparam_Controller).permit(:name, :machine_model, :parameter_1, :parameter_2, :parameter_3, :data_train_set, :start_date, :end_date))
# respond_to block
respond_to do |format|
format.html do
if mlParam.save
# success message
flash[:success] = "ML parameters saved successfully"
# redirect to index
redirect_to model_url
else
# error message
flash.now[:error] = "Error: parameters could not be saved"
# render new
render :viewaddparam, locals: { newParam: newParam }
end
end
end
end
end
我的路线:
get 'viewparam', to: 'viewaddparam#view_add_param'
post 'add_param', to: 'viewaddparam#add_param', as: 'add_param'
我的看法:
<%= form_with model: newParam, url: add_param_path, method: :post, local: true, scope: :Viewaddparam_Controller do |f| %>
...
每当我尝试提交表单时,我都会收到此错误
ArgumentError in ViewaddparamController#add_param
Wrong number of arguments (given 1, expected 0)
在我的控制器类第 11 行突出显示的错误。
我在这里做错了什么?我一遍又一遍地查看教程,但我看不到这里的错误。
提前致谢。
【问题讨论】:
-
mlParam = ViewaddparamController.new(params.require(:Viewaddparam_Controller)我认为它需要是模型,但是您使用的控制器不接受任何参数,并且您正在传递一个导致问题的原因。
标签: ruby-on-rails ruby