I have a from, where users can change their passwords. For now, I haven't done anything about updating the password because my form doesn't pass params for some reason. Before, I give you the code, just to let you know, you will be seeing `puts` inside command for debugging purposes. 

Password Form:

```
<div class="title">Change Password</div>
<div class="password">
  <%= profile_error_messages_for(@profile) %>

  <%= form_for :user, url: change_password_path do |f| %>
      <%= hidden_field_tag 'attribute', 'password', id: nil %>
      <div class="input-box">
        <%= label_tag(:current_password, 'Current Password') %>
        <%= f.password_field :current_password, class: 'form-control input-md input-width-large' %>
      </div>
      <div class="input-box">
        <%= label_tag(:password, 'New Password') %>
        <%= f.password_field :password, class: 'form-control input-md input-width-large' %>
      </div>
      <div class="input-box">
        <%= label_tag(:password_confirmation, 'Password Confirmation') %>
        <%= f.password_field :password_confirmation, class: 'form-control input-md input-width-large' %>
      </div>
      <%= submit_tag 'Change Password', class: 'btn btn-success btn-md input-width-large' %>
  <% end %>
</div>

```

profiles\_controller:

```
elsif params[:attribute] == 'password'
  puts 'params: ' + params[:current_password].to_s

  puts 'here 1'
  if @profile.password_match?(params[:current_password])
    puts 'here 2'
  else
    puts 'here 3'
    render 'edit'
  end
end

```

User model:

```
  def password_match?(entered_password = '')
    puts 'Password: ' + entered_password.to_s
    puts salt
    password == User.hash_with_salt(entered_password, salt)
  end

```

where ever I tried printing out value, it is empty. we don't even need to check model. because when I typed this in controller, it is also empty.

```
puts 'params: ' + params[:current_password].to_s

```

I have been working on this problem since 3 days. Please somebody help me =). Thank you.