คำถามติดแท็ก strong-parameters

5
วิธีการอนุญาตให้อาร์เรย์มีพารามิเตอร์ที่แข็งแกร่ง
ฉันมีแอพพลิเคชั่น Rails 3 ที่ใช้งาน has_many: ผ่านการเชื่อมโยงที่ไม่ได้เป็นเมื่อฉันสร้างมันใหม่เป็นแอพ Rails 4 ทำให้ฉันประหยัดรหัสจากโมเดลที่เกี่ยวข้องใน Rails 4 เหล่านี้เป็นรุ่นที่เกี่ยวข้องสามแบบสำหรับสองรุ่น Categorization.rb class Categorization < ActiveRecord::Base belongs_to :question belongs_to :category end Question.rb has_many :categorizations has_many :categories, through: :categorizations Category.rb has_many :categorizations has_many :questions, through: :categorizations ในทั้งสองแอพรหัสหมวดหมู่จะถูกส่งผ่านไปยังการสร้างแอคชั่นเช่นนี้ "question"=>{"question_content"=>"How do you spell car?", "question_details"=>"blah ", "category_ids"=>["", "2"], ในแอพ Rails 3 เมื่อฉันสร้างคำถามใหม่มันจะแทรกเข้าไปในตารางคำถามแล้วลงในตาราง …

4
Rails 4 - พารามิเตอร์ที่แข็งแกร่ง - วัตถุที่ซ้อนกัน
ฉันมีคำถามง่ายๆ แต่ยังไม่พบวิธีแก้ไข ดังนั้นนี่คือสตริง JSON ที่ฉันส่งไปยังเซิร์ฟเวอร์: { "name" : "abc", "groundtruth" : { "type" : "Point", "coordinates" : [ 2.4, 6 ] } } ด้วยวิธีการใช้ใบอนุญาตใหม่ฉันได้รับ: params.require(:measurement).permit(:name, :groundtruth) สิ่งนี้จะไม่มีข้อผิดพลาด แต่รายการฐานข้อมูลที่สร้างขึ้นมีnullแทนค่า groundtruth ถ้าฉันเพิ่งตั้ง: params.require(:measurement).permit! ทุกอย่างได้รับการบันทึกตามที่คาดไว้ แต่แน่นอนว่าความปลอดภัยนี้จะช่วยรักษาความปลอดภัยของพารามิเตอร์ ฉันพบวิธีแก้ปัญหาวิธีอนุญาตให้ใช้อาร์เรย์ แต่ไม่ใช่ตัวอย่างเดียวโดยใช้วัตถุที่ซ้อนกัน สิ่งนี้จะต้องเป็นไปได้เพราะมันควรจะเป็นกรณีการใช้งานที่ค่อนข้างธรรมดา ดังนั้นมันทำงานอย่างไร
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.