[Facebooker-talk] problem doing a CRUD update?

Tres Wong-Godfrey tres.wong-godfrey at saniq.com
Thu Sep 18 04:10:03 EDT 2008


If you're using RESTful routes anyway, you could just try something  
like this:

link_to "Delete", article_path(article, :canvas => true), :confirm =>  
"Are you sure?", :method => :delete

Peep Code has a nice and free cheat sheet for Rails RESTful resource  
routes.



On Sep 18, 2008, at 12:58 AM, Allen Walker wrote:

> Yeah that didn't work:
>
> <%=link_to("Delete", url_for(:controller => "articles", :action =>
> "destroy", :id  => a\rticle, :_method => :delete, :canvas=>true),
> :confirm => 'Are you sure?'  )%>
>
> Still get:
>
> ActionController::InvalidAuthenticityToken in  
> ArticlesController#destroy
>
> ActionController::InvalidAuthenticityToken
>
> In a form there is a hidden field for the token - autogenerated. In
> the link_to there isn't.
>
> And yes I own both the pdf and the book that hasn't been released ;)
>
> On Thu, Sep 18, 2008 at 2:49 AM, Tres Wong-Godfrey
> <tres.wong-godfrey at saniq.com> wrote:
>>
>> Usually you see the InvalidAuthenticityToken when stuff is being  
>> posted directly back to your server when you didn't really want to  
>> be. You'd need a :canvas => true in your url generation function in  
>> order to avoid that kind of problem.
>>
>>
>> I'd really recommend checking out Mike's book http://pragprog.com/titles/mmfacer/developing-facebook-platform-applications-with-rails
>>
>> It's not on paper yet, but you can get the PDF version right now.
>>
>> It's well worth the cost -- it will get you up and running faster  
>> and with less frustration than the oft conflicting tutorials that  
>> are out there.
>>
>>
>>
>>
>> On Sep 18, 2008, at 12:09 AM, Allen Walker wrote:
>>
>>> I'm now trying to do a "destroy". I do this:
>>>
>>> <%=link_to("Delete", url_for(:controller => "articles", :action =>  
>>> "destroy", :id  => article, :_method => :delete), :confirm => 'Are  
>>> you sure?'  )%>
>>> When i execute it, i get:
>>>
>>>
>>> ActionController::InvalidAuthenticityToken in  
>>> ArticlesController#destroy
>>>
>>> ActionController::InvalidAuthenticityToken
>>>
>>>
>>> If I comment out "protect_from_forgery  :secret => 'xx'" in  
>>> application.rb I get when i just try to view the page:
>>>
>>> ActionView::TemplateError (No :secret given to the  
>>> #protect_from_forgery call.  Set that or use a session store  
>>> capable of generating its own keys (Cookie Session Store).)
>>>
>>>
>>>
>>>
>>> Tres Wong-Godfrey wrote:
>>>>
>>>> Try something like this:
>>>> form_for :article, :url => { :action => "update", :id =>  
>>>> @article }, :html => { :method => :put } do |f|
>>>>
>>>> That should give you the 'PUT' method.
>>>>
>>>>
>>>> On Sep 17, 2008, at 11:09 PM, Allen Walker wrote:
>>>>
>>>>> This appears to be some kind of routing issue since facebook  
>>>>> wraps everything in a post... so here's what I'm doing:
>>>>>
>>>>> <% form_for :article, :url => { :action => "update", :id =>  
>>>>> @article } do |f|  
>>>>> %>                                                    <%=  
>>>>> render :partial => "form", :locals => { :f => f } %>
>>>>> <% end -%>
>>>>> renders:
>>>>>
>>>>> <form action="/myapp/articles/7" method="post">
>>>>>
>>>>> ....
>>>>> </form>
>>>>> The form comes up populated with the model data, but I submit  
>>>>> though I get:
>>>>>
>>>>>
>>>>> Unknown action
>>>>>
>>>>> No action responded to 7
>>>>>
>>>>>
>>>>>
>>>>> In the rake routes the "update" requires a HTTP "put" so I'm  
>>>>> wondering if that is causing the problem.
>>>>>
>>>>> thanks
>>>>> _______________________________________________
>>>>> Facebooker-talk mailing list
>>>>> Facebooker-talk at rubyforge.org
>>>>> http://rubyforge.org/mailman/listinfo/facebooker-talk
>>>>
>>>>
>>>
>>> _______________________________________________
>>> Facebooker-talk mailing list
>>> Facebooker-talk at rubyforge.org
>>> http://rubyforge.org/mailman/listinfo/facebooker-talk
>>
>
>
>
> --
> http://auswalk.blogspot.com
> _______________________________________________
> Facebooker-talk mailing list
> Facebooker-talk at rubyforge.org
> http://rubyforge.org/mailman/listinfo/facebooker-talk



More information about the Facebooker-talk mailing list