새로운 라이브러리나 기능으로 작업하고 있는데 설명서를 이해할 수 없습니다. 설정하기 어려울 수 있으므로 모든 것이 어떻게 서로 맞는지 배울 때까지 RDoc 사이를 돌아다녀야 합니다. 문서가 존재하지 않을 수도 있습니다. 아니면 많은 예를 보고 가장 잘 배울 수도 있습니다. 도움이 필요합니다. 하지만 문서가 아닌 경우 기능 사용 방법은 어디에서 배우나요? 내가 가장 좋아하는 GitHub 기능 중 하나 문서를 넘어 라이브러리 또는 기능의 실제 사용을 확인하려면 GitHub의 코드 검색을 사용하세요. 예를 들어 조건부 GET 지
Rails에서 스캐폴드를 생성하면 일반적인 respond_to가 표시됩니다. 블록: 앱/컨트롤러/태스크_컨트롤러.rb def destroy @task.destroy respond_to do |format| format.html { redirect_to tasks_url, notice: Task was successfully destroyed. } format.json { head :no_content } end end 그러나 index와 같은 일부 작업은 , 가지고 있지 않습니다
블록만 사용하는 함수에 메서드를 전달하고 싶었던 적이 있습니까? 또는 개체의 슈퍼클래스 중 호출하려는 메서드가 손상되었는지 알아내셨습니까? method를 사용하면 이러한 작업을 쉽게 수행할 수 있습니다. 방법. 잘 사용하면 종속성에 대해 배우고 디버깅 시간을 절약하고 필요한 위치에 코드를 가져올 수 있습니다. 람다만큼 쉬운 방법 많은 Ruby 메서드는 블록이나 람다를 사용합니다. 그러나 람다에서와 같이 메서드를 다른 메서드에 직접 전달할 수는 없습니다. method를 사용해야 합니다. 첫 번째: irb(main):001:0>
Ruby 또는 Rails 콘솔을 시작하는 방법에는 여러 가지가 있습니다. irb , bundle exec irb , bundle console 및 rails console 가장 일반적인 것 중 일부입니다. 비슷해 보이지만 각각 작동 방식이 조금씩 다릅니다. 이러한 차이점이 무엇인지 모르는 경우 몇 가지 문제가 발생합니다. ActiveRecord 모델을 데이터베이스에 연결하지 못할 수도 있습니다. 또는 파일이 필요하고 잘못된 버전을 얻을 수 있습니다. 또는 사용 가능하다고 생각했던 라이브러리가 그렇지 않았습니다. 적시에 올바른 콘
each을 사랑합니다. 하지만 문제가 있습니다. 빈 컬렉션이 있으면 어떻게 되나요? [].each를 호출하면 , 아무 일도 일어나지 않으며 [] 반환됩니다. 때로는 그것이 당신이 원하는 것입니다. 그러나 더 자주, 특히 UI를 빌드할 때 특별한 방법으로 빈 목록을 처리하고 싶을 것입니다. 예를 들어 데이터가 없을 때 일반적으로 다른 메시지를 표시하고 싶습니다. 하지만 [].each 이후로 [] 반환 , nil이 아닙니다. , 다음과 같은 내용을 작성하는 데 문제가 있습니다. app/views/users/index.html.er
일반적으로 전역 변수는 좋지 않습니다. 그러나 때로는 전역이 올바른 위치에 있으면 코드가 훨씬 간단해질 수 있습니다. Rails에서는 요청 중에 데이터를 한 번 설정할 수 있지만 앱의 모든 계층에서 사용합니다. 어떤 사용자가 요청을 하고 있습니까? 어떤 권한이 있습니까? 어떤 데이터베이스 연결을 사용해야 합니까? 이 정보는 코드 전체에서 사용할 수 있어야 하므로 모든 곳에서 전달하는 것은 많은 잡음이 될 것입니다. 그러나 Ruby 전역 변수를 사용하거나 클래스 변수를 설정하면 자체 문제가 발생합니다. 여러 스레드가 이를 덮어쓸
(이 게시물은 몇 달 전에 내 목록에 보낸 게시물을 기반으로 합니다. 매주 비슷한 내용을 더 읽으려면 여기에서 가입하세요!) 프로그래밍 흐름을 저장하기 위해 약간의 편리함 사용에서 저는 가장 단순한 추상화가 어떻게 코드베이스 작업을 더 즐겁게 만들 수 있는지에 대해 이야기했습니다. 하지만 나쁜 추상화? 매번 API 참조를 파헤칩니다. 그 방법이 명확하게 이름이 leaderboard여야 합니다. 실제로 호출됩니다. 리팩토링을 시도하지만 코드의 한 부분은 구조화된 데이터를 전달하고 다른 부분은 원시 텍스트 줄을 제공합니다. 그리
Rails 튜토리얼을 마치고 자신만의 앱을 시작한 후에는 상황이 혼란스러워집니다. CRUD가 아닌 일반 논리는 어디로 가나요? Twitter에서 팔로어를 확보하는 것이 MVC에 어떻게 적합합니까? 두 사람에게 물어보면 네 가지 답을 얻을 수 있습니다. 또는 당신의 스레드는 책상에 머리를 부딪치는 동안 몇 시간 동안 서로를 모욕하는 똑똑한 사람들로 이어집니다. 어느 쪽이든, 당신은 두통으로 남아 있습니다. 일부 없이는 꿈꿔오던 앱을 구축할 수 없습니다. 일반, 비 Rails 논리. 그렇다면 코드를 어디에 두고 간단하게 유지하시겠습니
Rails 커뮤니티가 완전합니다. 상충되는 조언. Minitest 또는 RSpec을 사용합니까? 일반 Ruby 객체가 app/models에 들어가나요? , app/classes 또는 lib/ ? 경험 많은 개발자가 이러한 문제에 대해 계속해서 논쟁을 벌인다면 어떤 조언을 따를지 결정하는 데 어떤 희망이 있습니까? 비밀은 무엇입니까? 비밀은 다음과 같습니다. 한 쪽만 선택하세요 , 팔로우하세요. 캅아웃인 것 같습니다. 그러나 이것들은 철학의 작은 차이에 대한 논쟁입니다. 주장이 강할수록 선택은 실제로 덜 중요합니다. 특히 처음
당신은 당신이 만든 앱에 대해 흥분합니다. 단 하나의 문제가 있습니다. 테스트가 없습니다. 테스트 주도 개발을 사용하여 작성하고 싶었지만 어디서부터 시작해야 할지 잘 몰랐습니다. 그래서 당신은 붙어 있습니다. 여기에서 어디로 가나요? 테스트가 없는 앱에서 어떻게 TDD를 사용하여 앱을 작성합니까? 이미 가지고 있는 코드 테스트 테스트가 없는 많은 코드가 있습니다. 하지만 이것이 지금 테스트를 작성할 수 없다는 의미는 아닙니다. , 기존 코드에 대해. 따라서 이미 가지고 있는 코드 테스트를 시작하여 코드가 예상대로 작동하는지 확인
당신이 하는 일상 업무의 작은 부분에서 길을 잃기 쉽습니다. 그렇게 집중하면 모든 작은 단계로 실제로 달성한 것을 완전히 놓칠 수 있습니다. 그래서 작년에 제가 쓴 글과 연설을 되돌아보고 그 과정에서 배운 가장 좋은 점들을 살펴보겠습니다. 잘된 점 저는 1월 10일에 견적은 목표가 아니라 커뮤니케이션 도구라는 글을 쓰기 시작했습니다. 2014년에 53개를 게시했습니다. 기사, 일주일에 하나 이상! 4월부터 매주 화요일에 글을 올렸습니다. 이런 종류의 일정을 만들면 글쓰기와 계획이 그렇습니다. 훨씬 쉽습니다. 나는 전에 몇
미친 테스트 문제에 대한 완벽한 솔루션을 찾았습니다. DEFAULT_HOST를 재정의하기만 하면 됩니다. 계속해서 사업을 하게 될 것입니다. 그 추악한 메시지를 없애기 위해 경고를 꺼야한다는 점을 제외하고. 하지만 지금 모든 테스트를 통과했으며 몇 줄의 코드만 변경하면 됩니다! 당신이 하지 않는 한 가지 테스트를 제외하고 호스트를 무시하고 싶습니다. 그러나 상수를 다시 재정의하고 경고를 다시 끄고 테스트가 끝나면 재설정되도록 할 수 있습니다. 작업이 거의 완료되었습니다. 거의 맛볼 수 있습니다! 제외... 제외... 제외..
원숭이 패치. Ruby를 처음 사용하면 놀랍습니다. 핵심 클래스에 바로 메서드를 추가할 수 있습니다! Time.now.advance(days: -1)를 호출할 필요가 없습니다. , 1.day.ago를 작성할 수 있습니다. ! 이것은 Ruby가 읽고 쓰는 것을 즐겁게 만듭니다. 까지... 패치가 Hash를 변경했기 때문에 이상한 버그가 발생했습니다. . 어떤 코드가 실제로 실행되었는지 혼란스러워서 중단되면 디버그할 수 없습니다. 그리고 마침내 모든 문제가 6개월 전에 Enumerable에 원숭이 패치를 적용했을 때 발생했다는 것
일부 Rails 앱 업그레이드는 bundle update rails만큼 쉽습니다. . 하지만 다른 어떤 종류의 앱인가요? 여전히 Rails 4.0, 심지어 3.2에 있는 것들도 미래로 끌고 가고 싶지 않아서? 빠른 업그레이드를 하든 힘든 업그레이드를 하든 이 단계는 앱을 가능한 한 원활하게 Rails 4.2로 전환하는 데 도움이 됩니다. 그리고 그 과정에서 Rails 4.2의 새로운 기능을 최대한 활용하는 방법을 배우게 됩니다. 업그레이드 가이드 읽기 항상 Rails 업그레이드 가이드를 읽고 Rails 업그레이드를 시작해야 합
이 기사는 Leonid Suschev 덕분에 러시아어로 번역되었습니다. 직장에서 팀을 변경했거나 방금 새 작업을 시작했습니다. 또는 즐겨 사용하는 오픈 소스 앱에서 버그를 발견하고 첫 번째 풀 리퀘스트를 작성하고 싶습니다. 하지만 git clone 후에 app/models을 엽니다. , 당신은 완전히 길을 잃었습니다. Rails가 구조 익숙한 것과 동일하므로 코드에서 길을 찾는 것이 불가능합니다. . 그렇다면 이 새롭고 생소한 Rails 앱을 배우는 가장 빠른 방법은 무엇입니까? 프로젝트 어휘 구축 Player란? , 그리고
레일 연습이 끝났습니다! 2월 13일 금요일까지 25% 할인된 가격에 만나보세요. 코드를 작성하는 동안 지속적으로 질문이 떠오릅니다. :이 메서드를 어떻게 호출합니까? 어떤 옵션이 필요합니까? 숫자 대신 개체를 전달하면 어떻게 됩니까? 이러한 질문은 생산성을 떨어뜨립니다. 바로 답을 모를 때, 당신은 당신이 무엇을 하고 있었는지 잊어버립니다. 흐름에서 빠져 나와 중단한 지점으로 돌아오려면 30분이 걸립니다. 그렇다면 속도를 늦추지 않고 어떻게 필요한 답변을 찾을 수 있을까요? 빠른 조회 API 문서를 조회할 때 속도가 핵심
레일 연습 , 압도당하지 않고 Rails를 학습하는 방법에 대한 제 책이 나왔습니다. 목요일 밤 11:59 PM까지 25% 할인을 받을 수 있습니다. ! (태평양 표준시) 여기에서 픽업하세요:https://www.justinweiss.com/practicing-rails 약간의 배경: 여기에서 글을 쓰는 동안 많은 사람들이 Rails 입문서와 동영상을 보고 Rails의 다양한 부분을 배웠지만 여전히 Rails 앱 튜토리얼을 넘어설 수 없다는 이야기를 들었습니다. 그들은 그것이 재미있어야 한다고 들었지만 실제로는 실망스러웠습
GitHub 기여 차트가 단색 회색입니까? 오픈 소스 프로젝트를 사용하여 작업할 수 있습니다. 그러나 처음부터 시작할 필요는 없습니다. 유용한 사이드 프로젝트를 만드는 가장 쉬운 방법은 이미 구축 중인 앱에서 프로젝트를 꺼내는 것입니다. 이것이 바로 Rails가 탄생한 방법입니다! 그러나 무엇을 추출해야 하는지 어떻게 압니까? 워크플로를 파괴하지 않고 어떻게 보석으로 만들 수 있습니까? 추출할 코드를 찾으세요. 앱 깊숙한 곳 어딘가에 속하지 않는 코드가 있습니다. 필요하지 않은 코드 귀하의 앱이 작업을 수행합니다. 어디에 있나요
첫 번째 프로덕션 앱을 시작할 준비가 되었습니다. 이제 일부 외부 서비스와 통신할 시간입니다. 여전히 모든 것을 연결해야 합니다. 개발 시스템에서 작업을 더 복잡하게 만들지 않고 프로덕션 환경에서 서비스를 구성하는 가장 좋은 방법은 무엇입니까? 환경 설정 프로덕션 앱을 구성하기 위해 오늘날의 모범 사례는 환경 변수(ENV[REDIS_HOST] -보고있는 것들). 그런데 왜요? 실수로 프로덕션 키를 커밋하기가 더 어렵습니다. 주의를 기울이지 않으면 git push 중요한 비밀 키가 있는 파일. 그리고 그것은 값비싼 실수
데이터 모델이 복잡해지고 API가 1초의 슬픈 응답 시간에 도달하면 일반적으로 다음과 같이 쉽게 해결할 수 있습니다. :includes . 모델의 연결을 미리 로드하면 SQL 호출이 많지 않습니다. 그러면 많은 시간을 절약할 수 있습니다. 그러나 사이트 속도가 다시 느려지고 응답 캐싱에 대해 생각하게 됩니다. 이제 문제가 생겼습니다. 캐시에서 응답을 받고 싶다면: results = {lawyer_1: 1, lawyer_2: 2, lawyer_3: 3} cached_objects = Rails.cache.fetch_multi(res