2010-11-15 19 views
0

我的藝術家電腦板,編輯方法是這樣的如何對提交給藝術家控制器,更新方法,而不是

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

在視圖(藝術家/ edit.html.erb),我有:

<%= form_for(@artist) do |f| %> 

    <ul> 
    <li class="clearfix"> 
     <%= f.label :name %> 
     <%= f.text_field :name %> 
    </li> 
    ... 
    </ul> 

    <%= image_submit_tag('update.png', :class => 'submit') %>  
<% end %> 

但是,呈現時。表單元素提交給用戶控制器,更新方法(即)。

我該如何將它提交給藝術家控制器,而不是更新方法?

回答

1

我想你想改變的form_for參數:

<%= form_for(@artist, :url => edit_user_path(@artist)) do |f| %> 

    <ul> 
    <li class="clearfix"> 
     <%= f.label :name %> 
     <%= f.text_field :name %> 
    </li> 
    ... 
    </ul> 

    <%= image_submit_tag('update.png', :class => 'submit') %>  
<% end %> 

比照http://api.rubyonrails.org/classes/ActionView/Helpers/FormHelper.html#method-i-form_for


另外,你確定你的@artist點@user?我認爲你的意思,在你的控制器:

@artist = User.find.... 
+0

嗨馬塞爾,是的,你是對的。是一個錯字。假設是@artist = User.find(params [:id])。我試着改變url參數,因爲你建議 – 2010-11-15 07:50:45

+0

謝謝馬塞爾。適用於:<%= form_for(@artist,:url => artist_path(@artist))do | f | %> – 2010-11-15 07:59:49

+0

我的寶貝克里斯 – 2010-11-15 08:07:38

相關問題