Forum: Ruby on Rails Flex and Rails - NoMethodError

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
D38ed82faa0b3296a56c0f768f32ce57?d=identicon&s=25 Enzo Rivello (enzor)
on 2009-03-18 01:29
Hi all!!

Recently , i tryed to integrate flex and rail, and it was a nice work,
really fast and flexible, until a curious bug

On my local development machine, i try to destroy an item trough an id,
and all goes well.
i set up on the production machine and pop-up this error:


NoMethodError (undefined method `[]' for nil:NilClass)

here's the code of the mxml in question:

<mx:HTTPService contentType="application/xml" id="destroy_question"
url="http://localhost:3000/admin/questions/destroy_ques...
useProxy="false" method="POST" result="object_destroyed()"
fault="object_not_destroyed()" >
      <mx:request xmlns="">
        <question>
          <id>{qdg.selectedItem.id}</id>
        </question>
      </mx:request>
    </mx:HTTPService>

and here's the controller:

def destroy_question_xml
    if params[:question][:id][:value]
      @question = Question.find(params[:question][:id][:value])
      @question.destroy
      @question.save
    end
  end


The curious thing is that actually, on production machine, it send
correctly the values("question"=>{"id"=>{"type"=>"integer",
"value"=>"96"}}) , but still pop up the error NoMethodError (undefined
method `[]' for nil:NilClass).

Someone has some thougt on this?

thanks a lot for reading
40db9e75b3f5899258e3bdc0c9210154?d=identicon&s=25 Conrad Taylor (conradwt)
on 2009-03-18 03:35
(Received via mailing list)
On Tue, Mar 17, 2009 at 5:29 PM, Enzo Rivello <
rails-mailing-list@andreas-s.net> wrote:

>
>          <id>{qdg.selectedItem.id}</id>
>      @question.save
>
> thanks a lot for reading


Hi, the last two lines seem suspect because you're trying to delete and
save
something.  For example,

def destroy_question_xml
   if params[:question][:id][:value]
     @question = Question.find(params[:question][:id][:value])
     @question.destroy
     @question.save
   end
end

Thus, I would recommend checking your logic.

Good luck,

-Conrad
D38ed82faa0b3296a56c0f768f32ce57?d=identicon&s=25 Enzo Rivello (enzor)
on 2009-03-18 07:20
Conrad Taylor wrote:
> On Tue, Mar 17, 2009 at 5:29 PM, Enzo Rivello <
> rails-mailing-list@andreas-s.net> wrote:
>
>>
>>          <id>{qdg.selectedItem.id}</id>
>>      @question.save
>>
>> thanks a lot for reading
>
>
> Hi, the last two lines seem suspect because you're trying to delete and
> save
> something.  For example,
>
> def destroy_question_xml
>    if params[:question][:id][:value]
>      @question = Question.find(params[:question][:id][:value])
>      @question.destroy
>      @question.save
>    end
> end
>
> Thus, I would recommend checking your logic.
>
> Good luck,
>
> -Conrad

yeah, that was a problem, but not the resolution.

i got many classes with this kind of class(of course, without the logic
error) , and all of them works in local, don't works on the production
server.

anyway, thanks a lot for the reply!
80e4cb97cae5c8d745f72337d93fd8f2?d=identicon&s=25 MaD (Guest)
on 2009-03-18 08:17
(Received via mailing list)
where exactly is the error?
which expression is nil?
- params[:question]
- params[:question][:id]
- params[:question][:id][:value]

did you debug it?
D38ed82faa0b3296a56c0f768f32ce57?d=identicon&s=25 Enzo Rivello (enzor)
on 2009-03-18 08:24
MaD wrote:
> where exactly is the error?
> which expression is nil?
> - params[:question]
> - params[:question][:id]
> - params[:question][:id][:value]
>
> did you debug it?

theorically none of them , because the system passes correctly the
values

( ("question"=>{"id"=>{"type"=>"integer","value"=>"96"}}) .

anyway i'm gonna debug and i'll say more after
D38ed82faa0b3296a56c0f768f32ce57?d=identicon&s=25 Enzo Rivello (enzor)
on 2009-03-18 11:55
Little update:

in local i use mongrel, in production phusion passenger.

can it be a problem?
D38ed82faa0b3296a56c0f768f32ce57?d=identicon&s=25 Enzo Rivello (enzor)
on 2009-03-18 14:36
Enzo Rivello wrote:
> Little update:
>
> in local i use mongrel, in production phusion passenger.
>
> can it be a problem?

problem understood!!

the server calls two times the method, because the first is halted by
ssl_required

Filter chain halted as [:ssl_required] rendered_or_redirected.


someone know what this means?
80e4cb97cae5c8d745f72337d93fd8f2?d=identicon&s=25 MaD (Guest)
on 2009-03-18 17:02
(Received via mailing list)
i don't know about your system, but maybe you try to do something over
ssl and you don't have it configured for your webserver?
A10ba5e890803847d0ee59e178dfd8a3?d=identicon&s=25 Jeremy Olliver (Guest)
on 2009-03-18 22:25
(Received via mailing list)
It means you have a filter called require_ssl in your application.
This kind of filter will usuallly either redirect or stop the current
request if it is not made over ssl (e.g https://example.com) find the
one in your app to see more. Either make the web request over ssl, or
skip the filter if you don't need to use ssl. I'd recommend to use ssl
if this is a request that is being authenticated in some way.

Cheers,
Jeremy

On Mar 19, 2:36 am, Enzo Rivello <rails-mailing-l...@andreas-s.net>
This topic is locked and can not be replied to.