Rails로 직접 전화하는 방법 금지(URL 입력 없이 다른 편집 화면으로 이동)
3022 단어 직접사격 금지RailsRubyOnRails5.2
직접사격 금지가 뭐예요?
프로그래밍은 7개월이 걸렸는데 아직 좌우를 모른다.
과제 처리 과정에서 "기고자만 편집하거나 삭제할 수 있도록 설정해달라"고 당부했다.이런 조건이 있다.
이거 바로 치는 거 금지래요.https:///XXX/edit이렇게 하면 다른 사람의 투고를 편집할 수 있으니 직접 전화해라?).
그렇구나...그러다 보니 시간이 지나 제작진의 시기가 되면서 완성되면 바로 칠 수 있다는 점을 명확히 했다.
실수로 잊어버렸기 때문에 메모로 직접 전화하는 것을 금지하는 방법입니다.
로그인하지 않은 상태라면'기고인만 있다'고 판단할 수 없어 로그인 기능이 없는 앱이나 홈페이지는 어떻게 해야 할까.그건 앞으로 조사하고 공부할 거예요.
(참고로 이렇게 하면 바로 예약 사이트로 날아갈 수 있기 때문에 어떤 회사는 곤란합니다.)
한 마디로 하면 직접 치는 것은 매우 간단하지만 조심하지 않으면 잊어버린다. 이것은 쉽게 잊어버리지 않는 기능이다!
직접 입력 금지 코드
우선 애플리케이션controller 중 가장 좋다action me 아교를 첨가합니다.
application_controller.rbclass ApplicationController < ActionController::Base
before_action :configure_permitted_parameters, if: :devise_controller?
그리고 직접 금지하고 싶은 컨트롤러 페이지를 엽니다.
(예를 들어, Post라는 이름의 기고문 페이지라면, Post controller.rb)
post_controller.rbclass PostsController < ApplicationController
before_action :authenticate_user!
before_action :correct_post,only: [:edit,:XXX]
겸사겸사action :authenticate_user!로그인한 사용자만 사용 가능!라는 뜻이다.
before_action :correct_post, only: [:edit,:XX] 추가
: XX는 직접 치고 싶지 않은 동작도 추가했다.
동시에controller.rb(privte 이상)에 다음 코드를 추가합니다.
post_controller.rbdef correct_post
@post = Post.find(params[:id])
unless @post.user.id == current_user.id
redirect_to posts_path
end
end
redirect_to posts_path는 투고자 이외의 사람이 직접 전화를 한 경우 날아갈 링크 주소를 기입해 주십시오.
이상, 직접 금지할 수 있습니다!
겸사겸사포스터랑 비슷해서 current포스터라는 게 있어요.
덕분에 내 머릿속은 엉망진창이야. 직접 전화하지 말라는 코드가 적혀 있는데 왜 금지되지 않는 거야!몇 시간 동안 안았다.
이것도 주의해야 할 부분이다.
Reference
이 문제에 관하여(Rails로 직접 전화하는 방법 금지(URL 입력 없이 다른 편집 화면으로 이동)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/natsumi_23/items/a1db1cba00bbf0e7652d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
우선 애플리케이션controller 중 가장 좋다action me 아교를 첨가합니다.
application_controller.rb
class ApplicationController < ActionController::Base
before_action :configure_permitted_parameters, if: :devise_controller?
그리고 직접 금지하고 싶은 컨트롤러 페이지를 엽니다.(예를 들어, Post라는 이름의 기고문 페이지라면, Post controller.rb)
post_controller.rb
class PostsController < ApplicationController
before_action :authenticate_user!
before_action :correct_post,only: [:edit,:XXX]
겸사겸사action :authenticate_user!로그인한 사용자만 사용 가능!라는 뜻이다.before_action :correct_post, only: [:edit,:XX] 추가
: XX는 직접 치고 싶지 않은 동작도 추가했다.
동시에controller.rb(privte 이상)에 다음 코드를 추가합니다.
post_controller.rb
def correct_post
@post = Post.find(params[:id])
unless @post.user.id == current_user.id
redirect_to posts_path
end
end
redirect_to posts_path는 투고자 이외의 사람이 직접 전화를 한 경우 날아갈 링크 주소를 기입해 주십시오.이상, 직접 금지할 수 있습니다!
겸사겸사포스터랑 비슷해서 current포스터라는 게 있어요.
덕분에 내 머릿속은 엉망진창이야. 직접 전화하지 말라는 코드가 적혀 있는데 왜 금지되지 않는 거야!몇 시간 동안 안았다.
이것도 주의해야 할 부분이다.
Reference
이 문제에 관하여(Rails로 직접 전화하는 방법 금지(URL 입력 없이 다른 편집 화면으로 이동)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/natsumi_23/items/a1db1cba00bbf0e7652d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)