Jak obsłużyć metoda POST z zew. adresu?

Witam chciałem pobrac wartości które wysyłane są metodą POST na mój adres z zew adresu

metoda post wywołuje akcje ‘create’ w moim kontrolerze
i pobieram wartości

def create
@email=params[:email]
@status=params[:status]

end

Ale to niedziała co musze zrobić? Czy musze zbudować formularz w widokach żebym mógł odczytać te wartości czy użyć Net::HTTP lub httparty

Patrzyłeś w logi? Co pokazują dla wywołania tej metody?

Ale co Ci dokładnie nie działa? Bo obstawiałbym brak form_authenticity_token.
Tak jak Sławosz napisał – pokalogi!

form_authenticity_token niewiem do czego to
No i przypominal że zapytanie POST idzie z innego serwisu

kontroler

protect_from_forgery :except=>[:create]

def index
render :layout=>false
end

def create
if params[:email].nil?
@user=User.find(:first,:conditions=>{:email =>params[:email]})
@mail=@user.email
else
@mail=‘brak w bazie’
end
render :layout=false
end

a w widoku create
<%=h @mail %>

O to logi:
Processing mojController#create (for 192.168.2.6 at 2010-06-30 16:21:22) [POST]
Parameters: {“action”=>“create”, “id”=>“40770”, “controller”=>“moj”, “status”=>“2”, “email”=>“jakis@mail”}
Rendering tranzakcjas/create
Completed in 16ms (View: 4, DB: 1) | 200 OK [http://192.168.2.6/moj?status=2&id=4000&email=jakis%40mail]

Skoro zapytanie jest POST, to czemu parametry przekazane są przez GET?

Zwróć także uwagę, że protect_from_forgery chroni użytkowników Twojej aplikacji przed atakiem CSRF. Być może twoja akcja create, nie jest jakaś bardzo istotna i wyłączenie nie będzie czymś strasznym, ale zastanów się czy możesz sobie na to pozwolić

Podlacze sie do pytania, bo mam podobny problem.

Mam gema, ktory udostepnia uzytkownikowi mozliwosc wysylania pewnych danych do aplikacji Railsowej. Dane wysylam za pomoc Net::HTTP::Post na odpowiedni controller z metoda create. W aplikacji mam to zrobione podobnie jak u drusslowa tzn. protect_from_forgery :except=>[:create]. Pytanie brzmi - czy aby na pewno jest to dobry sposob, a jezeli nie, to jak to inaczej rozwiazac?

Jeżeli komunikacja odbywa się pomiędzy Ruby <=> Ruby to dlaczemużby nie użyć ActiveResource?

Udostępniając API musisz się zabezpieczyć w inny sposób. Ataki CSRF są domeną przeglądarek, więc pierwszym krokiem jest właśnie wyłącznie poprzez protect_from_forgery, a kolejnym – autentykacja poprzez OAuth albo jakiś api_key.

Witam, w automagiczny sposób zaczeło działać gdzieś coś przeoczyłem , protect_from_forgery :except=> uzywam tylko w tym kontrolerze który posiada tylko jedną akcje, robie to z przymus bo potrzebuje odesłać potwierdzenie po odebraniu zapytania POST a niemam wpływu na to jak to przyjmuje ta druga strona a wiem że nieżyczy sobie mojego authenticity_token.