2013-11-21 74 views
0

我有我的編輯頁面下面我persons觀點:更新模型從視圖中的Rails屬性

<%= form_for @person do |f| %> 
    <%= label_tag :city %> 
    <%= f.text_field :city %> 
    <%= label_tag :state %> 
    <%= f.text_field :state %> 
    <%= label_tag :name %> 
    <%= f.text_field :name %> 
    <%= f.submit %> 
<% end %> 

的想法是,我可以更新我從@person模式:city:state:name屬性這個觀點。

我的控制器需要看起來像做什麼?我的路線是正確的通過,並在我的控制器我有這個至今:

def update 
    @person = Person.find(params[:id]) 
    @person.update_attributes!(@person_params) 
    redirect_to @person 
    end 

然而,這只是重定向我回到我的節目頁面@person每次而不實際更新模型上的屬性。我在這裏錯過了什麼?

回答

1

應該是這個樣子:

def update 
    @person = Person.find(params[:id]) 
    respond_to do |format| 
    if @peron.update_attributes(params[:person]) 
     format.html { redirect_to people_url, notice: "#{@person.name} was updated." } 
    else 
     format.html { render action: "edit" } 
    end 
    end 
end