2012-12-26 14 views

Odpowiedz

7

Wierzę, że próbujesz zrobić POST z link. Domyślnie links nie powinny składać żądań POST, tylko . Więc kiedy próbujesz nawiązać połączenie z serwerem, ostrzeże cię o tym Rails.
Jednym ze sposobów obejścia tego zachowania jest, zamiast korzystania z link, użycie form. Możesz więc wysłać do serwera odpowiednie żądania.
Alternatywnie, możesz usunąć linię protect_from_forgery ze swojego application_controller, więc Rails nie wykonuje tego rodzaju weryfikacji, ale nie jest to zalecane.

1

Można to zrobić, (ale nie polecam :)), pomiń ochronę oszustwie

Ex: Piszesz dane PostController => Utwórz akcję

class PostsController < ApplicationController 

    before_filter :protect_from_forgery, :except => [:create] 

    def create 
     #your method 
    end 
end 

ale powiedział, że I” m na pewno nie powinno być lepszym sposobem, aby robić to, co chcesz zrobić, więc jeśli można wyjaśnić, co chcesz zrobić, ktoś mógłby pomóc

HTH

+0

Przegłosowałem to, ponieważ chciałem wiedzieć, jak obchodzić się z tym ostrzeżeniem, nie dlatego, że chciałem go pominąć. Nie pomijaj ochrony przed fałszerstwem! – Ziggy

0

nop

brakowało mi następującą linię w moim application.js

//= require jquery_ujs 

Wymieniłem go i jego pracy ..

Powiązane problemy