我正在嘗試使用矩陣;我有一個模型,有一個名爲「板」屬性,它只是一個4x4矩陣。我以我的視角展示這塊板子。到現在爲止還挺好。當我點擊一個按鈕,我送參數「板」有,例如,這樣的結構:矩陣未定義的方法,字符串到矩陣
{"utf8"=>"âœ「", "game_master"=>{"board"=>"Matrix[[0, 0, 0, 0], [0, 0, 1, 1], [0, 0, 1, 0], [1, 1, 0, 0]]"}, "commit"=>"Yolo"}
另一方面,在控制器中,我試圖通過創建板新的遊戲管理員重新這款主板= Matrix [[0,0,0,0],[0,0,1,1],[0,0,1,0],[1,1,0,0]]。到目前爲止這麼好(不,我知道param [:board]只是一個字符串,這是我的問題)。然後,後來,試圖迭代矩陣時,我得到這個錯誤:
undefined method `each_with_index' for "Matrix[[0, 0, 0, 0], [0, 0, 1, 1], [0, 0, 1, 0], [1, 1, 0, 0]]":String
很顯然,我勢必:登上一個字符串不是一個矩陣。我將如何將該字符串轉換爲相應的矩陣?
感謝
UPDATE: game_masters_controller.rb
def step
@game_master = GameMaster.new(game_master_params)
@game_master.step
respond_to do |format|
format.js
end
end
和:
private
def game_master_params
params.require(:game_master).permit(:board)
end
game_master.rb
def initialize(attributes = {})
attributes.each do |name, value|
send("#{name}=", value)
end
if(self.board == nil)
self.board = get_new_board
end
end
我們可以看到你指定PARAMS向董事會變量的代碼?圍繞代碼的一點背景也可能有用。 – jklina
完成!需要幫助請叫我。謝謝 – bsilvacs