technoween에서 plugin restful_authentication을 설치하고 구현했습니다.restful_authentication이 컨트롤러 내의 작업에만 적용 되었습니까?
내 신청서는 대개의 경우 리뷰를 쓰는 경우를 제외하고는 공개 될 예정입니다.
그래서 reviews_controller.rb가 있지만, 사용자가 로그인했는지 여부를 신경 쓰고 싶은 유일한 시간은 특정 작업 add_review를 제출할 때입니다.
add_review는 벤더/쇼에 양식이 표시되므로 vendor_controller.rb에 대한 작업입니다. 그런 다음 업데이트를 표시하기 위해 vendor/show로 다시 리디렉션합니다 (이것을 ajax로 변경하려는 생각).
사람이 로그인하지 않은 경우 로그인/가입 페이지로 리디렉션하려고합니다.
restful_authentication에 대한 지침은 컨트롤러 수준에서 포함 AuthenticatedSystem을 적용하는 것을 보여 주지만 해당 컨트롤러의 다른 작업으로 인증하고 싶지는 않습니다.
어떻게하면됩니까?
class VendorsController < ApplicationController
include AuthenticatedSystem
before_filter :login_required, :only => [:add_review]
end
before_filter 또한 취할 수 있습니다. 조치에 인증이 없도록하려는 경우 매개 변수 제외. –
의미 : except => [: 인증되지 않은 컨트롤러]? – AFG
: except => [: non_authenticated_action] a before 필터는 컨트롤러 내의 모든 작업 (및 해당 컨트롤러를 서브 클래 싱하는 컨트롤러 내의 작업)에 적용됩니다. the : only/: 필터를보다 구체적으로 만들기위한 동작을 지정합니다. 추가 정보를 찾으려면 api.rubyonrails.org를 사용하십시오 – AdminMyServer