目前我正在定义内容安全策略(CSP),如下所示;
Header set Content-Security-Policy: "default-src 'self' data:; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' data:;"
Run Code Online (Sandbox Code Playgroud)
考虑到上面的CSP定义,我对内联JavaScript提出了挑战,因为它可以在任何时候被覆盖.
有什么用的unsafe-inline,如果它几乎不保护?
git 中是否有一些钩子脚本可以在推送到主项目时检测子模块源代码树是否可用?旨在避免人们推送具有未推送子模块的主项目
Mongoid有类似的方法ActiveRecord::Base.connected?吗?我想检查是否可以访问该连接。
请检查伪代码:
class Team
has_many :users
accepts_nested_attributes_for :users, allow_destroy: true
end
class User
belongs_to :team
has_many :addresses
accepts_nested_attributes_for :addresses
attr_accessor :dummy
before_validation :generate_addresses_attributes
def generate_addresses_attributes
# Use the dummy value to set the addresses_attributes
end
end
Run Code Online (Sandbox Code Playgroud)
现在执行时team.update(users_attributes: [{"0" => { dummy: "changed!" }}])(其他字段除了dummy属性不会改变),它不会触发#generate_addresses_attributes回调,因为它认为没有任何改变,没有保存,没有回调......
所以我的问题是如何触发虚拟属性的回调,或者强制save为accept_nested_attributes_for.
谢谢!