يتم تطبيق Restful_Authentication على إجراء فقط داخل وحدة تحكم؟

StackOverflow https://stackoverflow.com/questions/732500

سؤال

لقد قمت بتثبيت وتنفيذ المساعد Restful_Authentication من Technoweenie.

التطبيق الخاص بي هو، بالنسبة للجزء الأكبر، المقصود أن يكون مفتوحا، باستثناء حالة القول، كتابة مراجعة.

لذلك لدي quice_controller.rb، ولكن المرة الوحيدة التي أرغب في اهتم بها ما إذا كان المستخدم مسجلا في تسجيل الدخول أم لا هو عندما يتم تقديم إجراء Add_Review محددة.

Add_Review هو إجراء في Vendor_Controller.rb لأنه يتم عرض النموذج على البائعين / العرض. ثم يعيد توجيه إلى البائع / عرض لإظهار التحديث (التفكير في تغيير هذا إلى AJAX).

إذا لم يتم تسجيل الشخص، فأنا أريد إعادة التوجيه إلى صفحة تسجيل الدخول / التسجيل.

إرشادات عرض Restful_Authentication لتطبيق نظام المصادقة المتضمنة على مستوى وحدة التحكم، لكنني لا أريد أن أكون مصادقا مع الإجراءات الأخرى في وحدة التحكم هذه.

كيف أقوم بهذا العمل؟

هل كانت مفيدة؟

المحلول

قم بتضمين وحدة المصادقة للمصادقة في وحدة التحكم التي تحتاجها ل (أو ApplicationController إذا كنت في حاجة إليها لأكثر من واحد)، ثم استخدام قبل_filter تطبيقه فقط على الإجراءات التي تريدها، على سبيل المثال:

class VendorsController < ApplicationController
  include AuthenticatedSystem
  before_filter :login_required, :only => [:add_review]
end

نصائح أخرى

أقوم بتدوينك لاستخدام إجراء إنشاء مريح بدلا من إجراء Add_Review الخاص بك. اقرأ المزيد عن توجيه مريح في: http://guides.rubyonrails.org/routing.html.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top