Я создал новую миграцию:Rails: Новая миграция, а ноль в контроллере
class AddSignatureToUser < ActiveRecord::Migration
def self.up
add_column :users, :signature, :text
end
def self.down
remove_column :users, :signature
end
end
Теперь мой usertable имеет новый столбец с именем подписи. На моей странице редактирования я писал:
<h1>Editing user</h1>
<% form_for(@user) do |f| %>
<%= f.error_messages %>
<div class="form-wrapper">
<p>
<label for="email">Email</label>
<%= f.text_field :email %>
</p>
<p>
<label for="user_signature">Signature</label>
<%= f.text_area(:signature, :value => @user.signature) %>
</p>
<div class="form-submit">
<%= f.submit 'Update', :class => "form-submit-button" %>
</div>
</div>
<% end %>
Но это не будет работать. В моем контроллере я всегда получаю значение nil как значение для подписи. Любые идеи почему?
def update
@user = User.find(params[:id])
respond_to do |format|
if @user.update_attributes(params[:user])
puts @user.signature #always nil
flash[:notice] = 'User was successfully updated.'
format.html { redirect_to(@user) }
format.xml { head :ok }
else
format.html { render :action => "edit" }
format.xml { render :xml => @user.errors, :status => :unprocessable_entity }
end
end
end
да, я побежал грабли БД: мигрировать и столбец существует в моей базе данных (выберите подпись от пользователей;) – Newbie