Where did this value in a form come from?

Newb here.

I have a form and a value that is being displayed … and I have no idea
where the value came from.

I have done a
<%= debugger; ‘’ %>
in the form and, indeed, the debugger stops at the statement.

I have tried to trace through the code to see where the value came from
… and I gave up.

So … what in Rails initializes the fields of a form?

Ralph S. wrote:

Newb here.

I have a form and a value that is being displayed … and I have no idea
where the value came from.

I have done a
<%= debugger; ‘’ %>
in the form and, indeed, the debugger stops at the statement.

I have tried to trace through the code to see where the value came from
… and I gave up.

You’re going to have to describe the problem in more detail, with actual
code, if you want help. And what do your tests say?

So … what in Rails initializes the fields of a form?

If you’re using form_for – and you didn’t say if you were! – then the
form is initialized from the supplied model object.

Best,

Marnen Laibow-Koser
http://www.marnen.org
[email protected]

Marnen Laibow-Koser wrote:

Ralph S. wrote:

Newb here.

I have a form and a value that is being displayed … and I have no idea
where the value came from.

I have done a
<%= debugger; ‘’ %>
in the form and, indeed, the debugger stops at the statement.

I have tried to trace through the code to see where the value came from
… and I gave up.

You’re going to have to describe the problem in more detail, with actual
code, if you want help. And what do your tests say?

So … what in Rails initializes the fields of a form?

If you’re using form_for – and you didn’t say if you were! – then the
form is initialized from the supplied model object.

Ok … here’s the code


\zauth\app\views\users\new.html.erb

Signup for eMeantime Membership <%= error_messages_for :user %>

<% form_for :user, :url => users_path do |f| -%>

Login:
<%= f.text_field :login %>
Ex., aedenfield

Email:
<%= debugger; '' -%> <%= f.text_field :email %>
Ex., [email protected]. A valid email is required for an active account.

Password:
<%= f.password_field :password %>
Enter the password that is between 4 and 40 characters in length.

Confirm Password:
<%= f.password_field :password_confirmation %>
Enter the same password as above.

<%= submit_tag 'Sign up' %>

<% end -%>

\zauth\app\controllers\users_controller.rb

class UsersController < ApplicationController

Protect these actions behind an admin login

before_filter :admin_required, :only => [:suspend, :unsuspend,

:destroy, :purge]
before_filter :find_user, :only => [:suspend, :unsuspend, :destroy,
:purge]

render new.rhtml

def new
end

def create
puts at_file_line_msg(FILE, LINE)
cookies.delete :auth_token
# protects against session fixation attacks, wreaks havoc with
# request forgery protection.
# uncomment at your own risk
# reset_session
@user = User.new(params[:user])
raise ActiveRecord::RecordInvalid.new(@user) unless @user.valid?
@user.register!

flash[:notice] = "Thanks for signing up!"

rescue ActiveRecord::RecordInvalid
render :action => ‘new’
end

def activate
self.current_user = params[:activation_code].blank? ? :false :
User.find_by_activation_code(params[:activation_code])
if logged_in? && !current_user.active?
current_user.activate!
flash[:notice] = “Signup complete!”
end
redirect_back_or_default(’/’)
end

def suspend
@user.suspend!
redirect_to users_path
end

def unsuspend
@user.unsuspend!
redirect_to users_path
end

def destroy
@user.delete!
redirect_to users_path
end

def purge
@user.destroy
redirect_to users_path
end

def change_password
return unless request.post?
if User.authenticate(current_user.login, params[:old_password])
if ((params[:password] == params[:password_confirmation]) &&
!params[:password_confirmation].blank?)
current_user.password_confirmation =
params[:password_confirmation]
current_user.password = params[:password]

    if current_user.save
      flash[:notice] = "Password successfully updated"
      redirect_to profile_url(current_user.login)
    else
      flash[:alert] = "Password not changed"
    end

  else
    flash[:alert] = "New Password mismatch"
    @old_password = params[:old_password]
  end
else
  flash[:alert] = "Old password incorrect"
end

end

#gain email address
def forgot_password
return unless request.post?
if @user = User.find_by_email(params[:user][:email])
@user.forgot_password
@user.save
redirect_back_or_default(’/’)
flash[:notice] = “A password reset link has been sent to your
email address”
else
flash[:alert] = “Could not find a user with that email address”
end
end

#reset password
def reset_password
@user = User.find_by_password_reset_code(params[:id])
return if @user unless params[:user]

if ((params[:user][:password] && 

params[:user][:password_confirmation]) &&
!params[:user][:password_confirmation].blank?)
self.current_user = @user #for the next two lines to work
current_user.password_confirmation =
params[:user][:password_confirmation]
current_user.password = params[:user][:password]
@user.reset_password
flash[:notice] = current_user.save ? “Password reset success.” :
“Password reset failed.”
redirect_back_or_default(’/’)
else
flash[:alert] = “Password mismatch”
end
end

protected
def find_user
@user = User.find(params[:id])
end
end


I apologize for the length of the code but since I am lost as to where
in the model the code initializes the form … I provided everything.

The fields that seem to be inappropriately initialized are the fields
associated with :email (definitely) and :password (maybe).

The :password field has big dots in it … and it may be initialized
… I can’t tell.

Ralph S. wrote:

Marnen Laibow-Koser wrote:

Ralph S. wrote:

Newb here.

I have a form and a value that is being displayed … and I have no idea
where the value came from.

I have done a
<%= debugger; ‘’ %>
in the form and, indeed, the debugger stops at the statement.

I have tried to trace through the code to see where the value came from
… and I gave up.

You’re going to have to describe the problem in more detail, with actual
code, if you want help. And what do your tests say?

So … what in Rails initializes the fields of a form?

If you’re using form_for – and you didn’t say if you were! – then the
form is initialized from the supplied model object.

Ok … here’s the code


\zauth\app\views\users\new.html.erb

Note: This isn’t relevant to the issue at hand, but I highly recommend
Haml instead of ERb.

Signup for eMeantime Membership <%= error_messages_for :user %>

<% form_for :user, :url => users_path do |f| -%>

Login:
<%= f.text_field :login %>
Ex., aedenfield

Email:
<%= debugger; '' -%> <%= f.text_field :email %>
Ex., [email protected]. A valid email is required for an active account.

is for book titles, not hints. Learn to use HTML properly.

Password:
<%= f.password_field :password %>

This all looks fine.

[…]

I apologize for the length of the code but since I am lost as to where
in the model the code initializes the form … I provided everything.

Read the form_for docs and the Rails guides.

The fields that seem to be inappropriately initialized are the fields
associated with :email (definitely) and :password (maybe).

Initialized with what? You’ve provided everything but the essential
info. :slight_smile:

The :password field has big dots in it … and it may be initialized
… I can’t tell.

What do you mean, you can’t tell? What is the generated HTML like?

Best,

Marnen Laibow-Koser
http://www.marnen.org
[email protected]

Marnen Laibow-Koser wrote:

Ralph S. wrote:

Marnen Laibow-Koser wrote:

So … what in Rails initializes the fields of a form?

Ok … this code is/was provided as example code from
http://www.rubyplus.org/episodes/20-Extended-RESTful-Authentication-Rails-2-App.html

I downloaded the movie and the source code … neither of which seem to
be available any more

Attached, a screenshot. Where “Dave” (I presume “Dave T.”) came
from is completely beyond me.

If you’re using form_for – and you didn’t say if you were! – then the
form is initialized from the supplied model object.

Ok … here’s the code


\zauth\app\views\users\new.html.erb

Note: This isn’t relevant to the issue at hand, but I highly recommend
Haml instead of ERb.

Signup for eMeantime Membership <%= error_messages_for :user %>

<% form_for :user, :url => users_path do |f| -%>

Login:
<%= f.text_field :login %>
Ex., aedenfield

Email:
<%= debugger; '' -%> <%= f.text_field :email %>
Ex., [email protected]. A valid email is required for an active account.

is for book titles, not hints. Learn to use HTML properly.

Thank you … but I did not write that code. I believe a person by the
name of Bala P.
(http://www.rubyplus.org/episodes/20-Extended-RESTful-Authentication-Rails-2-App.html)
created a video tutorial as well as source code. I downloaded both …
both seem to be inaccessible now.

Password:
<%= f.password_field :password %>

This all looks fine.

[…]

I apologize for the length of the code but since I am lost as to where
in the model the code initializes the form … I provided everything.

Read the form_for docs and the Rails guides.

What do you think I’ve been doing for the last several weeks?

The fields that seem to be inappropriately initialized are the fields
associated with :email (definitely) and :password (maybe).

Initialized with what? You’ve provided everything but the essential
info. :slight_smile:

The :password field has big dots in it … and it may be initialized
… I can’t tell.

What do you mean, you can’t tell? What is the generated HTML like?

The screen shot (attached) source looks like this:


Killer App of 2008
    <span>Welcome Guest</span>


</div>

  <div class="midHeader">
    <h1 class="headerTitle" lang="la">Killer App of 2008</h1>
    <div class="headerSubTitle" title="Killer App of 2008">
      How can I help you?
    </div>
  </div>

<div class="subHeader">

<span class="doNotDisplay">Navigation:</span>

 <a href="http://localhost:3000/signup">Signup</a>
 | <a href="http://localhost:3000/login">Login</a>

| <a href="contact">Contact Us</a>
</div>

</div>

<!-- ##### Main Copy ##### -->

<div id="main-copy">



<fieldset>
Signup for eMeantime Membership

Login:

Ex., aedenfield

Email:

Ex., [email protected]. A valid email is required for an active account.

Password:



Enter the password that is between 4 and 40 characters in
length.

Confirm Password:

Enter the same password as above.

</div>


<!-- ##### Footer ##### -->

<div id="footer">
  <div>
    Copyright &copy; 2009 - 2010, eMeantimeo.com
  </div>

</div>
---------------------------------------

Well, it’s not in your HTML. Unless you’ve got some JS in there, my
best guess is that it’s coming from your Web browser, which is probably
trying to “helpfully” autofill usernames and passwords. Try a different
browser or a different computer, and I’ll bet you these entries won’t be
there. I don’t think this is coming from Rails.

Yup … I installed the Authologic tutorial app
GitHub - binarylogic/authlogic_example: An example rails app using the Authlogic authentication library
and lo and behold … Dave and his password showed up again.

That Dave guy is sure popular.

So I tried both apps on IE instead of FireFox and … no Dave.

Goes to show you, if you can’t find a bug then either you’re looking in
the wrong place or it isn’t a bug.

Thank you for suggesting a different browser.

[…]

Ex., [email protected]. A valid email is required for an active
account.

is for book titles, not hints. Learn to use HTML properly.

Thank you … but I did not write that code.

Whoever wrote it, it’s bad and should be corrected.

What tag do you suggest for a sample email address?

[…]

Read the form_for docs and the Rails guides.

What do you think I’ve been doing for the last several weeks?

I wouldn’t venture to guess. :slight_smile:

It’s not what you are thing.

OK, so why is restful authentication not as good as authlogic? The
sample from Bala P. offers email confirmation and the sample from
Authlogic does not.

Am I looking at a ton of work to implement the email confirmation via
Authlogic?

Ralph S. wrote:

Marnen Laibow-Koser wrote:

Ralph S. wrote:

Marnen Laibow-Koser wrote:

So … what in Rails initializes the fields of a form?

Ok … this code is/was provided as example code from
http://www.rubyplus.org/episodes/20-Extended-RESTful-Authentication-Rails-2-App.html

Yeah, I thought I saw restful_authentication spew in your User model. I
would strongly advise against using restful_authentication, precisely
because it clutters up your models. Try Authlogic instead.

I downloaded the movie and the source code … neither of which seem to
be available any more

Attached, a screenshot. Where “Dave” (I presume “Dave T.”) came
from is completely beyond me.

Well, it’s not in your HTML. Unless you’ve got some JS in there, my
best guess is that it’s coming from your Web browser, which is probably
trying to “helpfully” autofill usernames and passwords. Try a different
browser or a different computer, and I’ll bet you these entries won’t be
there. I don’t think this is coming from Rails.

[…]

Ex., [email protected]. A valid email is required for an active
account.

is for book titles, not hints. Learn to use HTML properly.

Thank you … but I did not write that code.

Whoever wrote it, it’s bad and should be corrected.

[…]

Read the form_for docs and the Rails guides.

What do you think I’ve been doing for the last several weeks?

I wouldn’t venture to guess. :slight_smile:
Best,

Marnen Laibow-Koser
http://www.marnen.org
[email protected]

Ralph S. wrote:

Well, it’s not in your HTML. Unless you’ve got some JS in there, my
best guess is that it’s coming from your Web browser, which is probably
trying to “helpfully” autofill usernames and passwords. Try a different
browser or a different computer, and I’ll bet you these entries won’t be
there. I don’t think this is coming from Rails.

Yup … I installed the Authologic tutorial app
GitHub - binarylogic/authlogic_example: An example rails app using the Authlogic authentication library
and lo and behold … Dave and his password showed up again.

That Dave guy is sure popular.

So I tried both apps on IE instead of FireFox and … no Dave.

Goes to show you, if you can’t find a bug then either you’re looking in
the wrong place or it isn’t a bug.

Thank you for suggesting a different browser.

You’re most welcome!

[…]

Ex., [email protected]. A valid email is required for an active
account.

is for book titles, not hints. Learn to use HTML properly.

Thank you … but I did not write that code.

Whoever wrote it, it’s bad and should be corrected.

What tag do you suggest for a sample email address?

There is probably no tag made for the purpose (except perhaps ),
so I might use .

[…]

Read the form_for docs and the Rails guides.

What do you think I’ve been doing for the last several weeks?

I wouldn’t venture to guess. :slight_smile:

It’s not what you are thing.

:smiley:

OK, so why is restful authentication not as good as authlogic?

I already explained that: it puts all sorts of crap in your User model
instead of keeping it separate. Authlogic is also more flexible and
uses a better architecture.

The
sample from Bala P. offers email confirmation and the sample from
Authlogic does not.

Authlogic can do that.

Am I looking at a ton of work to implement the email confirmation via
Authlogic?

I don’t believe so.

Best,

Marnen Laibow-Koser
http://www.marnen.org
[email protected]