Есть ли обратная функция функции слайса в Ruby? - PullRequest
36 голосов
/ 09 января 2012

В этом посте функция слайса используется для получения только необходимых элементов параметров. Какую функцию я должен использовать для исключения элемента params (например, user_id)?

Article.new(params[:article].slice(:title, :body))

Спасибо.

Ответы [ 2 ]

64 голосов
/ 09 января 2012

Использование кроме :

a = {"foo" => 0, "bar" => 42, "baz" => 1024 }
a.except("foo")
# returns => {"bar" => 42, "baz" => 1024}
1 голос
/ 09 января 2012

Попробуйте это

params = { :title => "title", :other => "other", :body => "body"  }

params.select {|k,v| [:title, :body].include? k  } #=> {:title => "title", :body => "body"}  
...