在post中,slice函數用於僅獲取必要的參數元素。我應該用什麼函數來排除params元素(比如user_id)?在Ruby中是否有切片函數的相反功能?
Article.new(params[:article].slice(:title, :body))
謝謝。
在post中,slice函數用於僅獲取必要的參數元素。我應該用什麼函數來排除params元素(比如user_id)?在Ruby中是否有切片函數的相反功能?
Article.new(params[:article].slice(:title, :body))
謝謝。
使用except:
a = {"foo" => 0, "bar" => 42, "baz" => 1024 }
a.except("foo")
# returns => {"bar" => 42, "baz" => 1024}
試試這個
params = { :title => "title", :other => "other", :body => "body" }
params.select {|k,v| [:title, :body].include? k } #=> {:title => "title", :body => "body"}
這似乎是一個大量的工作。至少它的Ruby是 – 2012-01-09 15:29:06
。公平地說,slice和except都是Rails方法。 – 2014-10-10 01:10:41
+1;打敗了我。 – 2012-01-09 15:30:41
值得注意的是'except'是Rails添加的一種方法,如果使用Ruby本身,通常不可用 – 2015-11-08 03:09:37