검색 기능의 실현
개시하다
개인 앱을 제작할 때 투고문의 내용을 검색에 표시할 수 있도록 검색 기능을 실시한다.
라우팅 설정
이번에는 id를 지정해서 페이지로 이동하지 않기 때문에collection으로 경로를 설정합니다.
routes.rbresources :posts do
get :search, on: :collection
resource :likes, only: [:create, :destroy] -いいね機能実装
end
모드 설정
LINE 문장
LIKE 문장은 문자열을 검색할 수 있습니다.
where 방법과 함께 사용합니다.
실행 예
디테일
where('title LIKE(?)', "a%")
a 부터 시작하는 제목
where('title LIKE(?)', "%b")
b로 끝나는 제목
where('title LIKE(?)', "%c%")
c 제목 포함
where('title LIKE(?)', "d_")
d로 시작하는 두 문자의 제목
where('title LIKE(?)', "_e")
e로 끝나는 두 문자의 제목
app/models/post.rbdef self.search(search)
return Post.all unless search
Post.where('body LIKE(?)', "%#{search}%")
end
컨트롤러에서 검색 동작 정의하기
post_controller.rbdef search
@posts = Post.search(params[:keyword])
end
view의 실현
render 방법을 사용하여 일부 템플릿을 진행합니다.
오른쪽post는 each 방법에서 변수인post에서post의 실례를 나타낸다.왼쪽의post는 일부 템플릿의 변수의 이름을 표시합니다.
search.html.erb<% @posts.each do |post| %>
<%= render partial: "post", locals: { post: post } %>
<% end %>
끝말
검색 기능이 상대적으로 간단하게 실현되었다.
나는 다른 것도 기능을 설치하고 에너지를 늘리는 일을 하고 싶다.
끝까지 봐주셔서 감사합니다.
Reference
이 문제에 관하여(검색 기능의 실현), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Nishi-Shin/items/59c1f2d84f42caa5ffaf
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
이번에는 id를 지정해서 페이지로 이동하지 않기 때문에collection으로 경로를 설정합니다.
routes.rb
resources :posts do
get :search, on: :collection
resource :likes, only: [:create, :destroy] -いいね機能実装
end
모드 설정
LINE 문장
LIKE 문장은 문자열을 검색할 수 있습니다.
where 방법과 함께 사용합니다.
실행 예
디테일
where('title LIKE(?)', "a%")
a 부터 시작하는 제목
where('title LIKE(?)', "%b")
b로 끝나는 제목
where('title LIKE(?)', "%c%")
c 제목 포함
where('title LIKE(?)', "d_")
d로 시작하는 두 문자의 제목
where('title LIKE(?)', "_e")
e로 끝나는 두 문자의 제목
app/models/post.rbdef self.search(search)
return Post.all unless search
Post.where('body LIKE(?)', "%#{search}%")
end
컨트롤러에서 검색 동작 정의하기
post_controller.rbdef search
@posts = Post.search(params[:keyword])
end
view의 실현
render 방법을 사용하여 일부 템플릿을 진행합니다.
오른쪽post는 each 방법에서 변수인post에서post의 실례를 나타낸다.왼쪽의post는 일부 템플릿의 변수의 이름을 표시합니다.
search.html.erb<% @posts.each do |post| %>
<%= render partial: "post", locals: { post: post } %>
<% end %>
끝말
검색 기능이 상대적으로 간단하게 실현되었다.
나는 다른 것도 기능을 설치하고 에너지를 늘리는 일을 하고 싶다.
끝까지 봐주셔서 감사합니다.
Reference
이 문제에 관하여(검색 기능의 실현), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Nishi-Shin/items/59c1f2d84f42caa5ffaf
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
def self.search(search)
return Post.all unless search
Post.where('body LIKE(?)', "%#{search}%")
end
post_controller.rb
def search
@posts = Post.search(params[:keyword])
end
view의 실현
render 방법을 사용하여 일부 템플릿을 진행합니다.
오른쪽post는 each 방법에서 변수인post에서post의 실례를 나타낸다.왼쪽의post는 일부 템플릿의 변수의 이름을 표시합니다.
search.html.erb<% @posts.each do |post| %>
<%= render partial: "post", locals: { post: post } %>
<% end %>
끝말
검색 기능이 상대적으로 간단하게 실현되었다.
나는 다른 것도 기능을 설치하고 에너지를 늘리는 일을 하고 싶다.
끝까지 봐주셔서 감사합니다.
Reference
이 문제에 관하여(검색 기능의 실현), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Nishi-Shin/items/59c1f2d84f42caa5ffaf
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
<% @posts.each do |post| %>
<%= render partial: "post", locals: { post: post } %>
<% end %>
검색 기능이 상대적으로 간단하게 실현되었다.
나는 다른 것도 기능을 설치하고 에너지를 늘리는 일을 하고 싶다.
끝까지 봐주셔서 감사합니다.
Reference
이 문제에 관하여(검색 기능의 실현), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Nishi-Shin/items/59c1f2d84f42caa5ffaf텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)