我的控制器管理問題的軌道+ JSON
def index_all_for_question_id
@answers = Question.find(params[:id]).answers
respond_to do |format|
format.ext_json { render :json => @answers.to_ext_json(:class => Answer, :include => [:respondent]) }
end
end
我在ExtJS的數據存儲中
var answers_datastore = new Ext.data.Store({
autoLoad: true,
proxy: new Ext.data.HttpProxy({
url: '/answers/index_all_for_question_id/<%= @questions.first.id %>?format=ext_json',
method: 'GET'}),
reader: answers_reader
});
我的問題是:當我試圖進入 localhost:3000/answers/index_all_for_question_id/551?format=ext_json
例如,
我得到:
{"results":2,"answers":[{"answer":{"scale":1,"inquiry_id":277,"created_at":"2011-05-30T07:10:22Z","updated_at":"2011-05-30T07:10:22Z","text":"dfgfdghfdhfdh","id":275,"respondent":{"created_at":"2011-05-16T06:47:08Z","updated_at":"2011-05-16T06:47:08Z","id":109,"user_id":6,"email":"[email protected]"}}},{"answer":{"scale":1,"inquiry_id":278,"created_at":"2011-05-31T12:33:36Z","updated_at":"2011-05-31T12:33:36Z","text":"lolololol","id":290,"respondent":{"created_at":"2011-05-25T11:22:55Z","updated_at":"2011-05-25T11:22:55Z","id":110,"user_id":6,"email":"[email protected]"}}}]}
所以我不知道它!每個用戶都可以進入這一行,我可以得到答案(如果他不是管理員)。我能如何解決這個問題?只有管理員可以看到這一點,因爲其他人應該在某個頁面上重定向或出現文本「對不起!」。
謝謝
-1這是很不清楚的問題。我在這裏看不到JSON的任何問題。我想你只想讓管理員訪問這個方法,對吧?管理員目前如何進行身份驗證?管理員= 0在網址是一個非常糟糕的認證想法。在這種情況下,我建議使用HTTP身份驗證(它是內置的Rails的一部分):http://api.rubyonrails.org/classes/ActionController/HttpAuthentication/Basic.html – 2011-06-02 09:43:37
感謝您的幫助。是的exatcly,buuuuut我想要的:如果用戶輸入的網址,我張貼,所以他被重定向到另一個頁面。管理員可以。我不知道如何去做,我已經閱讀過你給我看的網址上的這些東西,但仍然沒有任何東西 – 2011-06-02 10:11:44
這對HTTP身份驗證實施有點棘手。看到我下面發佈的答案。 – 2011-06-02 11:57:18