0
在我的Rails/Angular應用程序中,我通過Rails序列化程序將數據傳遞到前端,並允許通過params.permit更新字段。Rails:默認序列化程序和safe_params到模型中的所有字段
我明白,序列化程序/ safe_params的目的部分是仔細控制來往服務器的內容。但是,對於大多數模型,我發現我需要包含所有字段。
是否存在元編程或其他方法,其中分頁器和safe_params的主體可以簡單地暴露/接受模型上的所有字段,包括虛擬字段?
實施例代碼
串行
class BatchSerializer < ActiveModel::Serializer
attributes :id,
:description,
:details,
:user_id,
:name,
:dataset,
:dataset_id,
:pairs_per_sequence,
:pairs_per_bp,
:batch_type,
:overlap_size,
:padding,
:assembly_id,
:multiplex_tolerance,
:run_id,
:snp_mask,
:primer3_parameter_id,
:specificity_check,
:batch_status,
:avoid_cross_primers,
:temperature_similarity,
:gibbs_free_energy,
:base_termination,
:wet_lab
end
控制器safe_params
def safe_params
params.permit(:id,
:description,
:details,
:user_id,
:name,
:dataset,
:dataset_id,
:pairs_per_sequence,
:pairs_per_bp,
:batch_type,
:overlap_size,
:padding,
:assembly_id,
:multiplex_tolerance,
:run_id,
:snp_mask,
:primer3_parameter_id,
:specificity_check,
:avoid_cross_primers,
:temperature_similarity,
:gibbs_free_energy,
:base_termination,
:wet_lab_result)
end
EDIT
這篇文章提供了一個問題的答案:允許所有 Rails 4 Strong parameters : permit all attributes?
那麼我將如何自動序列化所有字段?
當調用'to_json'時,您可以(重新)定義'as_json'方法來定義您希望在模型上序列化哪些屬性。 – Nathan