반응형

Ruby 9

루비 배열의 마지막 요소를 제외한 모든 요소

루비 배열의 마지막 요소를 제외한 모든 요소 제가 루비 배열을 가지고 있다고 칩시다. a = [1, 2, 3, 4] 첫 번째 항목만 빼고 다 원하면 쓸 수 있습니다.a.drop(1)잘됐네요.하지만 마지막 아이템을 제외하고 다 원한다면 이렇게 생각할 수밖에 없습니다. a[0..-2] # or a[0...-1] 하지만 이 둘 중 어느 것도 사용하는 것만큼 깨끗하지 않아 보입니다.drop제가 놓친 다른 내장된 방법은 없습니까?아마도... a = t # => [1, 2, 3, 4] a.first a.size - 1 # => [1, 2, 3] 또는 a.take 3 또는 a.first 3 또는 a.pop 마지막을 반환하고 배열 앞에 모든 것을 남겨둘 것입니다. 또는 저녁 식사를 위해 컴퓨터를 작동시킵니다. a.re..

it-source 2023.06.30

레일 직렬화를 사용하여 해시를 데이터베이스에 저장

레일 직렬화를 사용하여 해시를 데이터베이스에 저장 내 레일 앱의 여러 시도에 해시 매핑 ID를 저장하려고 합니다.이 새 열을 수용하기 위해 데이터베이스로 마이그레이션: class AddMultiWrongToUser < ActiveRecord::Migration def self.up add_column :users, :multi_wrong, :string end def self.down remove_column :users, :multi_wrong end end 내 모델에는 다음이 있습니다. class User < ActiveRecord::Base serialize :multi_wrong, Hash end 그러나 레일 콘솔을 사용하여 다음을 수행하여 테스트할 때: user = User.create() us..

it-source 2023.06.15

rbenv 루비 버전을 변경하지 않음

rbenv 루비 버전을 변경하지 않음 github 지침에 따라 rbenv를 설치했습니다.OSX를 실행하고 있지만 Ubuntu 12.04 VM에서 실행해 본 결과 동일한 결과를 얻었습니다.다음은 루비 버전을 변경하려고 할 때 단말기에 표시되는 내용입니다. rbenv versions * 1.9.3-p0 (set by /Users/user/.rbenv/version) 1.9.3-p125 rbenv global 1.9.3-p0 rbenv rehash ruby -v ruby 1.8.7 (2011-12-28 patchlevel 357) [universal-darwin11.0] which ruby /usr/bin/ruby 왜 rbenv가 생각하는 것처럼 루비 버전을 전환하지 않는지에 대해 생각해 본 사람?또한 로컬 ..

it-source 2023.06.15

런타임에 메서드가 정의된 위치를 찾는 방법은 무엇입니까?

런타임에 메서드가 정의된 위치를 찾는 방법은 무엇입니까? 최근 일련의 커밋이 발생한 후 백엔드 프로세스가 실행되지 않는 문제가 발생했습니다.자, 우리는 착한 소년 소녀였고 도망쳤습니다.rake test체크인할 때마다 Rails의 라이브러리 로딩에 이상이 있기 때문에 운영 모드에서 Mongrel에서 직접 실행했을 때만 발생했습니다. 버그를 추적해보니 새로운 Rails 보석이 String 클래스의 메서드를 런타임 Rails 코드에서 좁은 용도로 사용하지 못하게 덮어씌워졌기 때문입니다. 어쨌든, 간단히 말해서, 런타임에 Ruby에게 방법이 정의된 위치를 물어볼 수 있는 방법이 있습니까? 같은 거.whereami( :foo )그것이 돌아오는 것/path/to/some/file.rb line #45이 경우 Str..

it-source 2023.06.15

이 활성 레코드의 원인:ReadOnlyRecord 오류?

이 활성 레코드의 원인:ReadOnlyRecord 오류? 다음은 이 이전 질문에 대한 답변입니다.저는 실제로 그 쿼리에서 조인을 제거할 수 있다는 것을 발견했습니다. 그래서 이제 작업 쿼리는 start_cards = DeckCard.find :all, :joins => [:card], :conditions => ["deck_cards.deck_id = ? and cards.start_card = ?", @game.deck.id, true] 이것은 효과가 있는 것 같습니다.그러나 이러한 DeckCard를 다른 연결로 이동하려고 하면 ActiveRecord::ReadOnlyRecord 오류입니다. 여기 코드가 있습니다. for player in @game.players player.tableau = Tabl..

it-source 2023.06.06

Gem 파일에서 로컬 보석을 지정하려면 어떻게 해야 합니까?

Gem 파일에서 로컬 보석을 지정하려면 어떻게 해야 합니까? 번들러가 현지 보석을 싣고 싶습니다.그것에 대한 옵션이 있습니까?아니면 gem 폴더를 .bundle 디렉토리로 이동해야 합니까?저는 당신이 이것을 할 수 있다고 믿습니다. gem "foo", path: "/path/to/foo" Jimmy가 언급한 대로 경로를 지정하는 것 외에도 다음 구성 옵션을 사용해야만 Bundler가 사용자 환경에 로컬 보석을 사용하도록 강제할 수 있습니다. $ bundle config set local.GEM_NAME /path/to/local/git/repository 이는 두 개의 보석 또는 보석과 레일 앱을 나란히 개발하는 경우 매우 유용합니다. 그러나 이것은 의존성에 대해 git를 이미 사용하고 있는 경우에만 작..

it-source 2023.06.06

루비에서 중복 키를 덮어쓰지 않고 두 개의 해시를 병합하려면 어떻게 해야 합니까?

루비에서 중복 키를 덮어쓰지 않고 두 개의 해시를 병합하려면 어떻게 해야 합니까? 중복 키를 덮어쓰지 않고 두 개의 해시를 병합하는 쉽고 우아한 방법이 있습니까? 즉, 키가 원래 해시에 있는 경우 값을 변경하지 않습니다.두 개의 해시가 있다면,options그리고.defaults그리고 당신은 합병하기를 원합니다.defaults안으로options기존 키를 덮어쓰지 않고 정말로 하고 싶은 것은 그 반대입니다. 병합options안으로defaults: options = defaults.merge(options) 또는 레일즈를 사용하는 경우 다음 작업을 수행할 수 있습니다. options.reverse_merge!(defaults) 표준 Ruby 라이브러리에는 기존 값을 덮어쓰거나 해시를 재할당하지 않고 해시를 병..

it-source 2023.06.05

페이지 gem을 설치할 수 없습니다.

페이지 gem을 설치할 수 없습니다. 사용해 보았습니다.gem install pg하지만 효과가 없는 것 같습니다. gem install pg이 오류를 제공합니다. Temporarily enhancing PATH to include DevKit... Building native extensions. This could take a while... ERROR: Error installing pg: ERROR: Failed to build gem native extension. C:/Ruby/bin/ruby.exe extconf.rb checking for pg_config... no No pg_config... trying anyway. If building fails, please try again wit..

it-source 2023.05.31

저장하지 않고 Rails update_attributes?

저장하지 않고 Rails update_attributes? 에 대한 대안이 있습니까?update_attributes그것이 기록을 저장하지 않습니까? 그래서 저는 다음과 같은 것을 할 수 있었습니다. @car = Car.new(:make => 'GMC') #other processing @car.update_attributes(:model => 'Sierra', :year => "2012", :looks => "Super Sexy, wanna make love to it") #other processing @car.save BTW, 나는 내가 할 수 있다는 것을 압니다.@car.model = 'Sierra'하지만 한 줄로 모두 업데이트하고 싶습니다.당신이 찾고 있는 것은. 기본적으로 update_attri..

it-source 2023.05.31
반응형