Rails에서 7개의 기본 동작 이외의 작업 정의
기본 동작을 복습하다.
다음은 Rails의 표준 동작입니다.
자체 정의 작업
위에서 설명한 기본 작업 이외의 작업을 수행하려면 직접 정의할 수 있습니다.
이 때 루트의 정의 방법은collection과member를 사용할 수 있습니다
Rails.application.routes.draw do
resources :hoges do
collection do
HTTPメソッド 'オリジナルのメソッド名'
end
end
end
Rails.application.routes.draw do
resources :hoges do
member do
HTTPメソッド 'オリジナルのメソッド名'
end
end
end
다른 것은 생성된 루트에 id가 있거나 첨부되지 않았는지 여부입니다.
・collection→: id 없음
• member →: id 있음
특정 페이지 등으로 이동할 필요가 있으면member를 사용하십시오.
그리고 중요한 것은 방법의 내용을 어디에 기술하는가이다.
일반적으로 개발 현장 등에서 표(DB)의 교환과 관련된 방법은 일반적으로 모델에 기재된다.
예를 들어 검색 기능을 실현하고 싶을 때 이 처리 방법을 모델에 쓰고 컨트롤러로 호출(view의 검색 형식 등 기술 생략)
사용 예
routes.rb resources :tweets do
collection do
get 'search'
end
end
tweet.rbclass Tweet < ApplicationRecord
#省略
def self.search(search)
return Tweet.all unless search
Tweet.where('text LIKE(?)', "%#{search}%")
end
end
tweets_controller.rbclass TweetsController < ApplicationController
#省略
def search
@tweets = Tweet.search(params[:keyword])
end
end
따로따로 설명하다
우선 검색 동작의 경로를 설정합니다.검색 결과를 표시하기 위해서 자세한 페이지를 볼 필요가 없기 때문에collection을 사용합니다.
form에서 사용자가 검색한 후 controller에서 검색 동작 호출 모델에 기술된 검색 방법입니다.이 때 검색 결과는 매개 변수로 전달됩니다(params[keyword])
검색 결과는 모델의 검색 방법에 변수 검색을 대입하여 방법에서 사용할 수 있습니다.
처리된 내용은 검색 내용이 비어 있는 상황에서 모든 투고를 얻고 수치가 있으면where 방법 내용의 조건식과 일치하는 투고를 얻는 것이다.
Reference
이 문제에 관하여(Rails에서 7개의 기본 동작 이외의 작업 정의), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kouhei_matuura/items/1660e0f709aa95de168d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
위에서 설명한 기본 작업 이외의 작업을 수행하려면 직접 정의할 수 있습니다.
이 때 루트의 정의 방법은collection과member를 사용할 수 있습니다
Rails.application.routes.draw do
resources :hoges do
collection do
HTTPメソッド 'オリジナルのメソッド名'
end
end
end
Rails.application.routes.draw do
resources :hoges do
member do
HTTPメソッド 'オリジナルのメソッド名'
end
end
end
다른 것은 생성된 루트에 id가 있거나 첨부되지 않았는지 여부입니다.・collection→: id 없음
• member →: id 있음
특정 페이지 등으로 이동할 필요가 있으면member를 사용하십시오.
그리고 중요한 것은 방법의 내용을 어디에 기술하는가이다.
일반적으로 개발 현장 등에서 표(DB)의 교환과 관련된 방법은 일반적으로 모델에 기재된다.
예를 들어 검색 기능을 실현하고 싶을 때 이 처리 방법을 모델에 쓰고 컨트롤러로 호출(view의 검색 형식 등 기술 생략)
사용 예
routes.rb resources :tweets do
collection do
get 'search'
end
end
tweet.rbclass Tweet < ApplicationRecord
#省略
def self.search(search)
return Tweet.all unless search
Tweet.where('text LIKE(?)', "%#{search}%")
end
end
tweets_controller.rbclass TweetsController < ApplicationController
#省略
def search
@tweets = Tweet.search(params[:keyword])
end
end
따로따로 설명하다
우선 검색 동작의 경로를 설정합니다.검색 결과를 표시하기 위해서 자세한 페이지를 볼 필요가 없기 때문에collection을 사용합니다.
form에서 사용자가 검색한 후 controller에서 검색 동작 호출 모델에 기술된 검색 방법입니다.이 때 검색 결과는 매개 변수로 전달됩니다(params[keyword])
검색 결과는 모델의 검색 방법에 변수 검색을 대입하여 방법에서 사용할 수 있습니다.
처리된 내용은 검색 내용이 비어 있는 상황에서 모든 투고를 얻고 수치가 있으면where 방법 내용의 조건식과 일치하는 투고를 얻는 것이다.
Reference
이 문제에 관하여(Rails에서 7개의 기본 동작 이외의 작업 정의), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kouhei_matuura/items/1660e0f709aa95de168d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
resources :tweets do
collection do
get 'search'
end
end
class Tweet < ApplicationRecord
#省略
def self.search(search)
return Tweet.all unless search
Tweet.where('text LIKE(?)', "%#{search}%")
end
end
class TweetsController < ApplicationController
#省略
def search
@tweets = Tweet.search(params[:keyword])
end
end
Reference
이 문제에 관하여(Rails에서 7개의 기본 동작 이외의 작업 정의), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kouhei_matuura/items/1660e0f709aa95de168d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)