我需要知道如何在Ruby on Rails API中要求嵌套的params。我为param白名单设置了我的方法,如下所示:
def user_params
params.require(:user).permit(:email, :password, :profile => [:name, :birthdate, :addy])
end
然而,这使得配置文件成为允许的参数,而不是必需的参数。我想要个人资料。它被允许没有其他嵌套的参数(基本上都是零),但必须仍然是必需的。我该如何做到这一点?
答案 0 :(得分:0)
很可能"要求"部分将来自您的实际模型。因此,在这种情况下,请转到user.rb文件并添加以下内容。
validates :profile, presence: true
这就是你在说什么吗?通常,您将要在控制器中允许params并在实际模型文件中执行验证和填充。
答案 1 :(得分:0)
如果您想在控制器中创建多个项目,可以像这样添加它们:
def user_params
params.require(:user).permit(...)
params.require(:profile).permit(...)
end