草庐IT

ruby-on-rails - 嵌套 has_one 关联的强参数

我似乎遗漏了一些明显的东西,但我无法允许嵌套has_one关联的属性。Controller:defcreate@crossword=Crossword.new(crossword_params)if@crossword.saverender:show,status::created,location:[:api,@crossword]elserenderjson:@crossword.errors,status::unprocessable_entityendenddefcrossword_paramsparams.require(:crossword).permit(:title,:

ruby - 如何在 Rails 强参数中添加默认数据?

假设我想在管理员中创建用户时为用户生成和设置默认密码。我想做这样的事情,defuser_paramsparams.require(:user).permit(:first_name,:last_name,:email,:password=>@default_generated_password,:password_confirmation=>@default_generated_password)end我正在使用魔法进行用户身份验证。我觉得这是完全错误的方式,但我该怎么做呢? 最佳答案 您想使用reverse_merge(出现在ra

ruby-on-rails - 改变 Devise 的强参数

在我的应用程序中,我最初创建了一个User脚手架,然后我创建了一个DeviseUser模型,它只是将属性添加到User模型,但是在我的用户Controller中,每当我尝试使参数“username”成为允许的参数时,它仍然吐出错误“用户名不是允许的参数”。我的用户.rbclassUser我的用户ControllerclassUsersController如您所见,我已将“用户名”属性放入强参数中,但仍然不允许这样做。非常感谢任何帮助,谢谢! 最佳答案 在你的application_controller.rb中试试这个before_a

ruby-on-rails - acts_as_taggable 在 rails 4 中具有强参数

如何在rails4中使用带有强参数的acts_as_taggable_ongem?有:classUser:tag_list)defpost_paramsparams.require(:post).permit(:text,:user_id,:tag_list)end如何将(post_params)添加到@post? 最佳答案 您应该像这样指定允许的参数:defpost_paramsparams.require(:post).permit(:text,:user_id,{tag_list:[]})end这应该会让他们在您的Contro

ruby-on-rails - Rails 5. 如果设置了一个许可 key ,则不需要使用强参数

我正在使用Rails5创建一个JSONApi。我的Controller使用带有一个require属性的强参数,如下所示:params.require(:require_attribute).permit(:permit_attribute1,:permit_attribute2)通常我必须像这样发送我的JSON:{"require_attribute":{"permit_attribute1":"data","permit_attribute2":"data"}}如果缺少必需的属性,我必须收到此消息:"ActionController::ParameterMissing:paramis

ruby-on-rails - 如何允许嵌套属性的强参数?

当我尝试接受来自表单的嵌套属性时,我在日志中收到一个Unpermittedparameters:latitude,longitude,address错误。确切的参数看起来像:{"widget"=>{"owner"=>"100","name"=>"WidgetCo","locations_attributes"=>{"0"=>{"latitude"=>"51.4794259","longitude"=>"-0.1026201","address"=>"123FakeStreet"}}},"commit"=>"CreateSupplier","action"=>"create","cont

ruby-on-rails - 多个要求并允许强参数 rails 4

在下面的例子中,我尝试使用强参数。我想要求email_address,password并允许remember_me字段。但是像下面这样使用它只允许方法中的LASTlineEx:-在下面的情况下它只需要params.permit(:remember_me)privatedefregistration_paramsparams.require(:email_address)params.require(:password)params.permit(:remember_me)end另一个例子:-在下面的例子中,如果我像下面那样重新排列它,它只需要params.require(:email_

ruby-on-rails - 当我们只更新一个属性时,我们应该使用强参数吗?

我正在开发一个Rails应用程序,我有几个操作(#delete_later、#ban_later等等),我只从请求参数中设置一个属性(具体来说,一个reason字段用于做那个Action)。我想知道这样做是否可以:defban_later@object.reason=params[:object][:reason]@object.saveend或者即使在这种情况下使用强参数也是最佳实践吗?defban_later@object.reason=object_params[:reason]@object.saveendprivatedefobject_paramsparams.requir

ruby-on-rails - 强参数允许数组数组

我尝试POST的数据看起来像{foo:[[:bar,1],[:baz,0]]}。我如何允许使用strongparameters?我能得到的最接近的是params.permit(foo:[[]])返回{"foo"=>[]} 最佳答案 马勒托,在我看来,强参数无法处理数组的数组。我确实读过codeofitingithub它处理符号、字符串和哈希。对于这种情况,您必须使用自己的代码来处理。 关于ruby-on-rails-强参数允许数组数组,我们在StackOverflow上找到一个类似的问题

ruby-on-rails - 使用强参数 Rails 创建和更新嵌套模型

这是我的3个模型。Userhas_many:membershipshas_many:teams,through::memberships,dependent::destroyaccepts_nested_attributes_for:membershipsTeamhas_many:membershipshas_many:users,through::memberships,dependent::destroyaccepts_nested_attributes_for:membershipsMembershipbelongs_to:teambelongs_to:user这是我的团队Con