首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >rails 4 modelname_params不存在

rails 4 modelname_params不存在
EN

Stack Overflow用户
提问于 2013-07-25 14:17:58
回答 1查看 340关注 0票数 1

我试图在Rails 4和Ruby 2中创建一个联系人表单,我已经添加了一个模型并用DB迁移了它,然后我创建了这个表单等等,但是这段代码给出了一个错误。

代码语言:javascript
运行
复制
@newSupport = Support.new(support_params)
AdminMailer.contact_email(@newSupport.name, @newSupport.email, @newSupport.subject, @newSupport.message).deliver

Rails调试器说:

代码语言:javascript
运行
复制
undefined local variable or method `support_params' for #<MainController:0x007f9f8a0dcb28>

为什么我的support_params没有定义?我在哪里可以给它下定义?我没有搭建它,但是当我搭建支架时,我看到我们可以通过"modelname_params“轻松地将表单值与控制器中的变量链接起来,但是在这种情况下,它是没有定义的。

感谢您的阅读。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-25 15:35:07

它希望您使用strong_parameters (http://weblog.rubyonrails.org/2012/3/21/strong-parameters/)对控制器中的参数进行消毒。

不确定为什么它是未定义的,但是它应该在控制器中定义为一个私有方法。

代码语言:javascript
运行
复制
private

#assuming you're using params[:support]
def support_params
  params.require(:support).permit(:attributes, :you, :want, :to, :allow)
end
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17860615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档