Soru Ruby'de dilim işlevinin tersi bir işlevi var mı?


Bunda postaDilim fonksiyonu sadece gerekli parametrelerin elde edilmesinde kullanılır. Bir params unsurunu (user_id gibi) hariç tutmak için kullanmam gereken işlev ne olurdu?

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

Teşekkür ederim.


32
2018-01-09 15:00


Menşei




Cevaplar:


kullanım dışında:

a = {"foo" => 0, "bar" => 42, "baz" => 1024 }
a.except("foo")
# returns => {"bar" => 42, "baz" => 1024}

55
2018-01-09 15:25



Farketmeye değer except Rails tarafından eklenen bir yöntemdir ve Ruby ile tek başına çalışıyorsa normalde kullanılamaz. - Wes Foster


Bunu dene

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

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

1
2018-01-09 15:22



Bu çok iş gibi görünüyor. - Dave Newton
en azından o Ruby. Adil olmak için dilim ve her ikisi de Rails yöntemleridir. - Eben Geer