By "didn't execute", I mean that when I use "password" as name of this
method, it is called some way. But the same doesn't happens when it is
named as "passwordtext", i.e., it is not even called.

Regards
Sumit Srivastava

The power of imagination makes us infinite...


On 30 July 2012 17:41, Frederick Cheung <frederick.che...@gmail.com> wrote:

> On Monday, July 30, 2012 6:16:47 AM UTC+1, Sumit Srivastava wrote:
>>
>> So I updated the method as follows,
>>
>> def passwordtext=(pass)
>>>    @password1=pass
>>>     self.salt = SecureRandom.hex(10) if !self.salt?
>>>     self.password = User.encrypt(@password1, self.salt)
>>>   end
>>>
>>
>> And added a attr_accessor named as passwordtext. Also I renamed the
>> password_field_tag in the view as "passwordtext". Doing this didn't help at
>> all as the passwordtext method didn't execute.
>>
>> So, the problem how should I rename my variables to make it work.
>>
>>
> Not sure what you mean by 'didn't execute' but the instance variable you
> set should be @passwordtext if that's the name you gave attr_accessor. You
> also want to make sure you passwordtext= method is defined after the call
> to attr_accessor
>
> Fred
>
>
>> Regards
>> Sumit Srivastava
>>
>> The power of imagination makes us infinite...
>>
>>
>> On 29 July 2012 14:47, Frederick Cheung <frederick.che...@gmail.com>wrote:
>>
>>>
>>>
>>> On Friday, July 27, 2012 11:52:26 AM UTC+1, Sumit Srivastava wrote:
>>>>
>>>>
>>>> Tom,
>>>> That might be another solution. But what I am trying to know is why
>>>> isn't this method working. And how is the action *def password=(pass)
>>>> *actually being called. Because I didn't see any exclusive line where
>>>> it is being called. My analysis says it is being executed because of the
>>>> *attr_accessor* and having name same as that of the column *password.
>>>> * *
>>>> *
>>>
>>> *Am I right?
>>>>
>>>> *
>>>
>>> It's hard to say because it's extremely hard to piece together what code
>>> exactly is excuting - seems like there's at least 3 different versions in
>>> this thread, but it sounds to me like you've
>>> definte a password= method  always calls self.password= which (by
>>> definition) calls your password= method and so you end up in an infinite
>>> recursion.
>>> The original tutorial you followed used a different name for the
>>> attribute so instead of calling self.password they were calling
>>> self.hashed_password= instead. You could either follow the tutorial
>>> (although as others have pointed it, it is really old (Rails 3.2has
>>> a has_secure_password that handles this) or use 
>>> self.write_attribute(:**password,
>>> some_value) when you want to store the hashed value
>>>
>>>
>>> Fred
>>>
>>>
>>>> **Regards
>>>> Sumit Srivastava
>>>>
>>>> The power of imagination makes us infinite...
>>>>
>>>>
>>>> On 27 July 2012 16:12, Michael Pavling <pavl...@gmail.com> wrote:
>>>>
>>>>> On 27 July 2012 11:37, sumit srivastava <sumit.theinvinci...@gmail.com
>>>>> ****> wrote:
>>>>> > This is what I receive,
>>>>> >
>>>>> > SystemStackError (stack level too deep):
>>>>> >   app/models/user.rb:26:in `password='
>>>>> >   app/models/user.rb:27:in `password='
>>>>> >   app/controllers/user_**controlle**r.rb:31:in `new'
>>>>> >   app/controllers/user_**controlle**r.rb:31:in `createuser'
>>>>> >
>>>>> > Here createuser action is used to store the user info into database.
>>>>> >
>>>>> > Line 31 reads as follows,
>>>>> > @user = User.new(params[:user])
>>>>>
>>>>> I would put a breakpoint on that line and then keep stepping into
>>>>> until you see where it's looping :-/
>>>>>
>>>>> --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "Ruby on Rails: Talk" group.
>>>>> To post to this group, send email to rubyonrails-talk@googlegroups.***
>>>>> *com <rubyonrails-talk@googlegroups.com>.
>>>>> To unsubscribe from this group, send email to
>>>>> rubyonrails-talk+unsubscribe@**g**ooglegroups.com<rubyonrails-talk%2bunsubscr...@googlegroups.com>
>>>>> .
>>>>> For more options, visit 
>>>>> https://groups.google.com/**grou**ps/opt_out<https://groups.google.com/groups/opt_out>
>>>>> .
>>>>>
>>>>>
>>>>>
>>>>  --
>>> You received this message because you are subscribed to the Google
>>> Groups "Ruby on Rails: Talk" group.
>>> To post to this group, send email to 
>>> rubyonrails-talk@googlegroups.**com<rubyonrails-talk@googlegroups.com>
>>> .
>>> To unsubscribe from this group, send email to
>>> rubyonrails-talk+unsubscribe@**googlegroups.com<rubyonrails-talk%2bunsubscr...@googlegroups.com>
>>> .
>>> To view this discussion on the web visit https://groups.google.com/d/**
>>> msg/rubyonrails-talk/-/**Ed2oQol364oJ<https://groups.google.com/d/msg/rubyonrails-talk/-/Ed2oQol364oJ>
>>> .
>>>
>>> For more options, visit 
>>> https://groups.google.com/**groups/opt_out<https://groups.google.com/groups/opt_out>
>>> .
>>>
>>>
>>>
>>
>>  --
> You received this message because you are subscribed to the Google Groups
> "Ruby on Rails: Talk" group.
> To post to this group, send email to rubyonrails-talk@googlegroups.com.
> To unsubscribe from this group, send email to
> rubyonrails-talk+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/rubyonrails-talk/-/ciXDKwGTLKQJ.
>
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Talk" group.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to