본문 바로가기
반응형

Back-End/Ruby9

rails, ruby 역순 정렬, 변수 역순 each문 rails 에서 정렬을 하여 가져오는 방법은 아주 간단합니다 week 라는 필드의 값이 작은 것 부터 정렬을 해서 가져오는 방법입니다 @my_data = MyData.where(:param_id => @search_param.param_id).order('week') 그렇다면 week 라는 필드의 값이 큰 ㄱ덧 부터 정렬을 해서 가져오는 방법은? @my_data = MyData.where(:param_id => @search_param.param_id).order('week desc') 이렇듯 변수에 저장하는 방법을 알아보았습니다. 하지만 우리가 생각하는 것은, 일단 작은 것 부터 정렬을 해서 가져와서 사용하다가 한 곳에서만 역순으로 가져오고 싶다면, 변수를 두 번을 사용해야 하는 것일까요? 아닙니다. .. 2024. 1. 2.
관련 데이터 필터링: Ruby on Rails에서 두 번의 조인을 활용한 방법 A belongs_to B B belongs_to C 의 관계를 만족하는 3개의 테이블이 있을 때에 A 테이블의 정보들을 가져올 때에 C 의 필드를 기준으로 필터링 하여 가져오고 싶은 경우가 있다. 여기서 C 의 c라는 필드의 값이 1 인 것만 가져오고싶은 경우의 1. 오류가 발생하는 쿼리문 2. 올바른 쿼리문 두 경우의 코드를 드리겠습니다 1. 오류가 발생하는 쿼리문 A.joins(:B).joins(:C).where('C.c = 1') → 첫 번째 코드 대로 한다면, A 와 C 의 다이렉트 관계를 찾아 조인을 시도해요. 하지만 B 와 C 의 관계가 명시적으로 정의가 되어있지 않았으니 Rails 는 이 관계를 인식하지 못할 수 있어요 2. 올바른 쿼리문 A.joins(:B).joins(B: :C).whe.. 2023. 9. 15.
Rails 오류 "You have already activated... " 해결하기 `check_for_activated_spec!': You have already activated activesupport 7.0.7.2, but your Gemfile requires activesupport 6.1.7.6. Prepending `bundle exec` to your command may solve this. (Gem::LoadError) 이런 오류가 발생하기 시작했다... Gemfile.lock 을 지우고 다시 bundle install 해도 안되는 경우! 가끔 bin/rails 오류나 각종 터미널 상의 오류, 특정 gem 설치 이후 오류들이 발생할때마다 하나를 고치면 파생된 다른 오류들이 연달아 생기곤 합니다.. 물론 rails 만의 문제는 아닙니다ㅋㅋ 저는 gem 을 설치하고 R.. 2023. 9. 6.
rails i18n 하는 방법, rails 언어처리 (5분 내외) rails 언어처리 방법에 대해서 한번 포스팅을 해보려 합니다. 학생때야 하나의 언어로 처리를 하였겠지만, 본격적으로 실무를 하게 될 때면, 여러 가지의 언어를 동시에 사용해야 하는 경우가 생깁니다. 과연 rails 에서는 이 부분을 어떻게 처리하는지 코드와 함께 알아보도록 하겠습니다. 1. i18n(다중언어처리)를 위한 gem 을 설치합니다 루트 폴더 부분의 Gemlfile을 열어 한 줄을 추가해줍니다 # locale gem 'rails-i18n' gem을 설치했으므로 터미널에서 bundle i 를 실행해줍니다 2. app/controllers/application_controller.rb 파일에 언어 세팅을 합니다 def set_locale I18n.locale = params[:locale] || .. 2022. 12. 8.
Rails CRUD - 데이터 저장이 잘 되었는지 확인하는 방법 def saveCheck # NewData 라는 테이블이 있다고 가정합니다 new_data = NewData.new new_data.title = "새로 만드는 데이터" new_data.status = 0 new_data.save # 데이터가 안정적으로 잘 들어갔는지 확인하는 if new_data.save puts "데이터가 안정적으로 만들어졌습니다" # 데이터가 잘 들어가지 않은 경우 어떤것이 오류인지 오류코드를 왁인 else # 오류가 생긴다면 오류 내용을 전부 찍어 보기 puts new_data.errors.full_messages end end + puts로 찍어본 로그는 rails s 를 띄운 서버 터미널에서 보실 수 있습니다 2022. 10. 3.
(해결 방법) rails devise sign_up 오류 devise sign up error Rails 에는 정말 많은 gem 들이 있습니다. 이 중 웹사이트를 개발할 때에 가장 많이, 그리고 가장 기본적으로 사용이되는 회원 관리 부분을 볼 것입니다. Admin을 이야기 하는 것이 아니라, 회원 가입, 로그인, 로그아웃 등을 구현할 것입니다. 여기서 많은 오류들을 만나게 될텐데, 천천히 잘 따라만 오시면 됩니다 로그인, 회원가입 페이지 만들기 1. blog 라는 이름의 프로젝트를 생성할 것입니다 $ rails new blog 2. Devise 라는 회원가입, 로그인 기능 gem 을 설치합니다 $ bundle add devise 3. 번들을 추가 했으니 설치를 합니다 $ rails g devise:install 4. User 라는 이름으로 devise 만들되, 저는 추가로 role(권한) 필드를 .. 2022. 5. 24.
(해결) LoadError: cannot load such file -- sass Ruby on rails 개발 중 admin 페이지를 함께 만들기 위해 devise 라는 gem과 activeadmin 이라는 gem 을 설치했습니다. 그런데 bundle install 을 하고 다시 서버를 보았더니 LoadError: cannot load such file -- sass 이런 문구가 떳습니다. 당황하였지만, 여러 해결 방법을 찾아본 결과 예전 버전들에서는 없었던 오류가 rails 버전이 높은 것을 사용했더니 나더군요. 해결 방법 gem 'sass-rails' 해당 잼을 추가하고, bundle을 한 후 서버를 control + c 로 종료한 후 rails s 로 다시 켜봤습니다 잘 뜹니다! sass-rails 를 사용하니 오류가 있다던 파일이 잘 돌아갔습니다. 다른 파일을 수정할 것이 아.. 2022. 5. 19.
루비 온 레일즈 rails Gem 설치 다운로드 방법 오늘은 Gem 을 안전하게 다운받는 방법을 함께 포스팅을 할게요 일단 Gem을 왜 사용하느냐. 이 부분은 rails를 왜 사용하느냐 문제와도 정말 연관이 있습니다. Gem 을 사용하면 정말 말도 안되게 빠른 속도로 개발을 할 수 있거든요. rails 에는 1. 게시판 만들기 → Scaffolding 2. 페이지네이션 구현 → Kaminari 3. 이미지 업로드 구현 → Carrierwave 4. 회원가입,로그인 구현 → Devise 5. 회원 권한 구현 → CanCanCan 등등 가져와 설치만 하면 페이지와 기능, 라우팅등에 관련한 모든 코드들을 자동으로 작성해주고 가져와주거든요. rails를 사용하면 Gem 을 모르는것은 정말 음.. 좀 곤란해요. 일단 가장 많이 쓰이는 Gem 중 하나인 devise .. 2022. 5. 19.
(해결) ActionController::InvalidAuthenticity Token 오류 Mysql2::Error: Field 'id' doesn't have a default value 오류 오류 내용 Ruby와 mysql을 연동하여 개발을 하던 도중, Authenticity Token def handle_unverified_request raise ActionController::InvalidAuthenticityToken end post 'reply/create/:post_id' => 'main#reply_create' 제가 하려던 코드는 절대 어려운 코드는 아닙니다. 코드의 내용은 그저 reply/create/1 과 같이 이러한 주소로 가 바로 create 를 하면 되는 것이었습니다. def handle_unverified_request raise ActionController::InvalidAuthenticityToken end 그런데 이러한 녀석을 만나게 된 것이었습니다. 해결 방법.. 2022. 5. 18.
반응형