我有一個新的Rails 4應用程序,我試圖在前端使用Angular。Rails 4 + Angular嵌套屬性
我有以下幾點:
Board.rb
class Board < ActiveRecord::Base
belongs_to :organization
has_many :warehouses
accepts_nested_attributes_for :warehouses
end
Warehouse.rb
class Warehouse < ActiveRecord::Base
belongs_to :board
end
在我boards_controller.rb在創建方法我稱之爲
@board = @organization.boards.build(board_params) # Organizations are a separate model that have many boards
其中
def board_params
params.require(:board).permit(:date, :organization_id, :warehouses => [:name])
end
如果我放棄在方法的開始binding.pry的PARAMS看起來像這樣:
Unpermitted parameters: warehouses
=> {"date"=>"2013-06-02T15:12:16.554Z"}
我:
{"board"=>
{"date"=>"2013-06-02T15:12:16.554Z",
"warehouses"=>
[{"name"=>"Tidewater",
"grades"=>nil,
"new_grade"=>
{"name"=>"New Grade",
"total"=>0,
"available"=>"2013-06-02T15:12:16.554Z"}},
{"name"=>"MIT",
"grades"=>nil,
"new_grade"=>
{"name"=>"New Grade",
"total"=>0,
"available"=>"2013-06-02T15:12:16.554Z"}}]},
"action"=>"create",
"controller"=>"boards",
"organization_id"=>"1",
"format"=>"json"}
但是,調用board_params直接回應我們看到了使用warehouses_attributes的建議,而不僅僅是board_params中的「倉庫」,但這似乎也沒有效果。
我想知道是否有人遇到類似的問題,如果是這樣..我可以調整我的請求或控制器接受和建立與他們各自的董事會的倉庫對象。也許我錯過了倉庫對象中的根節點?
非常感謝!
在Rails 4中不起作用,因爲默認情況下內置了strong_params。 – Almaron