Tag: 强参数

为动态密钥配置强参数

我正在尝试提供一个表单,允许管理员编辑特定模型Submission所有值,几乎就像电子表格一样。 Submission由一个字符串字段组成:domain 。 问题是我无法弄清楚如何在这种背景下处理强大的障碍。 我已经找到了类似处理动态键的类似示例,但我无法弄清楚如何将它们应用到我的参数结构中。 我想我对tap工作方式还不够清楚。 这是我的参数示例: {“3″=>{“domain”=>”domain3”}, “2”=>{“domain”=>”domain2”}, “1”=>{“domain”=>”domain1”} 如果它有帮助,这是我正在使用的forms: Domain 如果你很好奇,这是我的控制器的update_multiple方法。 如果这看起来很熟悉,我从一个railscast得到了轮廓,这在rails3中非常有效,之后强大的params(无论如何?)无处不在。 def update_multiple logger.debug “update_multiple #{submission_params}” @submissions = Submission.update(submission_params[:submissions].keys, params[:submissions].values) flash[:notice] = “Updated Submissions” redirect_to review_submissions_path end 如果我使用params.permit!完全绕过强大的婴儿车,这非常有效params.permit! 但是,当然,这是一个不可接受的解决方案。 谢谢你的帮助!

尝试使用设备注册用户时的ActiveRecord :: AssociationTypeMismatch

我正在尝试使用devise gem在注册过程中附加嵌套字段。 我想在一个请求中创建用户创建后属于User的video。 表单从registrations_controller.rb发送post to create方法,并在sign_up参数处失败 new.html.erb <input name="authenticity_token" type="hidden" value="”/> ( characters minimum) title desc registrations_controller.rb def create super end private def sign_up_params params.require(:user).permit(:email, :password, password_confirmation, videos: [:title, desc]) end 用户模型 class User < ApplicationRecord # Include default devise modules. Others available are: # :confirmable, :lockable, :timeoutable and :omniauthable devise :database_authenticatable, :registerable, :recoverable, :rememberable, […]

不能允许具有强参数的自定义参数

我想允许嵌套的自定义参数,但不知道如何访问它们。 这些是我的参数: params=> {“utf8″=>”✓”, “authenticity_token”=>”…”, “tracking”=>{“installation”=>”4”, “code”=>[{“1″=>”one”, “2”=>”two”}]}, “action”=>”create”, “controller”=>”admin/trackings”} 根据Strong Parameters文档,我尝试了一些像这样的组合: def tracking_params params.require(:tracking).permit(:installation, code: []) end 但他们没有工作。 我错过了什么?

为什么我在使用protected_attributes gem时得到ForbiddenAttributesError

我们刚刚从4.0.1升级到rails 4.1.13。 我们一直在努力实施强大的参数。 因此,我们仍然使用protected_attributes gem,因此我们可以使用旧的行为。 现在,我们得到一个ActiveModel::ForbiddenAttributesError 。 我不明白为什么,因为我们使用的是protected_attributes gem。

Rails 5强参数,在复选框值内有一个数组

考虑到这些参数: “product”=>””, “category_ids”=>”1”, “3”=>”1″, “4”=>”1″} , “name”=>”…”, “description”=>”a good prod”, “size”=>”2x3m”, “price”=>”23$”, “url_video”=>”http://…”, “remarks”=>”bla”} 我想要使​​用正确的permit来进行cath category_ids params {“2”=>“1”,“3”=>“1”,“4”=>“1”}并且require sintax,而不是我不知道: 执行时 params.require(:product).permit(:name, :size,…, category_ids: [] ) 结果是 Unpermitted parameters: id, category_ids 我试过了params.require(:product).permit(:category_ids[:id,:val]) …和其他变种 什么是正确的sintax? PD:这些参数是例如: 对于has_and_belongs_to_many关系 class Product < ActiveRecord::Base has_many :images, dependent: :destroy has_and_belongs_to_many :categories, autosave: true attr_accessor :category_list end class Category < ActiveRecord::Base has_and_belongs_to_many […]

如何使用Rails Action Controller嵌套参数来允许特定属性哈希

关于嵌套参数有很多问题,但我似乎无法找到解决我特定的简单情况的问题。 我正在尝试允许不是数组的嵌套哈希。 我希望这可行: params.require(:book).permit(:title, :description, style: {:font, :color}) 但它导致语法错误。 然而,这有效: params.require(:book).permit(:title, :description, style: [:font, :color]) 但我的问题是,它似乎允许style值是具有属性的项目数组:font和:color。 我只想允许具有这2个属性的单个哈希。 我尝试了其他变体,但我不断收到语法错误。 我很感激任何帮助。 上下文:Rails 4.1.7,Ruby 2.0.0(这是我的待办事项列表升级!),而不是使用ActiveRecord。

如何获得强参数以允许嵌套的fields_for属性?

我有一个带有嵌套fields_for的表单。 我试图允许由该嵌套表单生成的参数,但它们被强参数阻止。 我使用rails 4.2.4和ruby 2.2.2 我读过一些官方文档: http://api.rubyonrails.org/classes/ActionController/StrongParameters.html http://guides.rubyonrails.org/action_controller_overview.html#strong-parameters 我已经阅读了相关的SOpost: Rails 4嵌套属性未允许的参数 如何允许嵌套属性的强参数? 我读过各种博文: http://www.rubyexperiments.com/using-strong-parameters-with-nested-forms/ http://adamyonk.com/2013/05/16/rails-4-strong-parameters-and-nested-forms.html 和更多 我想我正在按照他们的意思去做,但我的嵌套属性被强参数拒绝了。 我在日志中得到了Unpermitted parameters: __template_row__, 0, 1, 2, 3 。 这是我的代码: 车型/ enclosure.rb class Enclosure { order(“year DESC, month DESC”) }, dependent: :restrict_with_error validates :name, presence: true, uniqueness: {case_sensitive: false} accepts_nested_attributes_for :resident_animals, allow_destroy: true, reject_if: :all_blank def to_s name end […]

Rails 4 + Devise 3.0.0添加用户名

我正在使用Rails 4和Devise 3.0.0,并且是使用这些新的强大参数的新手。 我使用Devise wiki上的文档为User模型添加了用户名。 我遇到的问题是Rails 4中强大的参数变化。 如何将:login属性添加到用户模型以启用用户名或电子邮件登录?

Stack Level Too Deep错误 – 我认为使用强参数生成

我认为问题可能是Rails 4中的强参数,但我不确定。 这就是我所拥有的。 我想要做的就是创建一个post ,但是当它被提交时我得到了这个错误: Started POST “/posts” for 127.0.0.1 at 2014-08-28 06:06:57 -0500 Processing by PostsController#create as HTML Parameters: {“utf8″=>”✓”, “authenticity_token”=>”daURJjzq2EMfiQZ/uiD/0ADg=”, “post”=>{“status”=>”confirmed”, “title”=>”Ashlee lost 10 pounds in 5 weeks”, “photo”=>#<ActionDispatch::Http::UploadedFile:0x0000010652d3c8 @tempfile=#, @original_filename=”Ashlee-Testimonial.png”, @content_type=”image/png”, @headers=”Content-Disposition: form-data; name=\”post[photo]\”; filename=\”Ashlee-Testimonial.png\”\r\nContent-Type: image/png\r\n”>, “body”=>”Ashlee lost 10 pounds in 5 weeks.”}, “commit”=>”Submit”} User Load (0.5ms) SELECT “users”.* FROM “users” WHERE […]

rails 4 has_many:通过不保存关联

我有2个模型,有多对多关联如下: class User :destroy has_many :designated_remarks, :through => :remark_users, :source => :remark end class Remark :destroy has_many :users, :through => :remark_users accepts_nested_attributes_for :users end 和关系: class RemarkUser < ActiveRecord::Base belongs_to :remark belongs_to :user end 应该执行save的remarks_controller操作: # PATCH Save users def save_users @remark = Remark.find(params[:id]) @remark.users.build(params[:remark_user_ids]) @remark.save end forms: salveaza_responsabili_remark_path(@remark) do |f| %> Te remarks_controller: params.require(:remark).permit(:description, […]