我有一个"泛型"负责管理所有公共页面和行动的控制器
class PublicController < ApplicationController
def index
end
def contact
@contact = Contact.new(contact_params)
end
private
def contact_params
params.require(:contact).permit(:name, :email, :question, :subject)
end
end
但是当我想访问&#34;请联系我们&#34;链接我有以下错误
param丢失或值为空:联系
是否可以在&#34;泛型&#34;内部操作强参数?控制器或我应该只将它们用作名为&#34; Contact&#34;的控制器的一部分。 ?
答案 0 :(得分:2)
看起来错误是因为您在参数哈希中没有接触参数。您想要更像以下内容:
def contact
@contact = Contact.new
end
def send_contact
@contact = Contact.new(contact_params)
end
private
def contact_params
params.require(:contact).permit(:name, :email, :question, :subject)
end
或者
def index
@contact = Contact.new
end
def contact
@contact = Contact.new(contact_params)
end
private
def contact_params
params.require(:contact).permit(:name, :email, :question, :subject)
end
基本上你应该只在你发布的动作上调用contact_params。