2011-12-21 12 views
1

ビューからレコードのレコードを更新する方法があるかどうかを知りたいだけでしたか?たとえば、以下のコードを使用してテーブルからレコードを削除できますか?Railsリモート関数を使用してレコードを更新する

<td><%= link_to 'Delete', my_path(user), :confirm => 'Are you sure?', :method =>:delete, :remote=>true %></td> 

そして、私が持っている私のコントローラで:

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

    respond_to do |format| 
    format.js do 
     render(:update) { |page| page.reload } 
    end 
    end 
end 

上記のコードは完璧に動作します。テーブルからレコードを削除し、破棄リンクをクリックした後にページをリロードします。 私の質問は、私のレコードの値を更新するために同じことをすることができますか?もしそうなら、どうしたらいいですか?

答えて

0

あなたは、あなたは、単にいくつかのことを変更しますすることができますを確認します。

あなたのコントローラのメソッドは、更新のようになります。

def update 
    @user = User.find(params[:id]) 
    @user.update_attributes(params[:user]) 

    respond_to do |format| 
    format.js do 
     render(:update) { |page| page.reload } 
    end 
    emd 
end 

その後、あなたは次のようにあなたのリンクを変更します

<td><%= link_to "Update", my_path(user), :method => :put, :remote => true %></td> 

マインドあなたは、これはあなたがform_for @userタグであるという仮定の下にあります。

<%= form_for @user do |f| %> 
    <%= f.text_field :name %> 
    # aforementioned link to update goes here 
<% end %> 

これは、あなたがコントローラメソッドでセットアップ@user(最も可能性が高いdef edit

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

は私が更新」でしようとしていた私のために働いたあなたの迅速な対応のためにどうもありがとうございました印象であります'代わりに' put ' –

+0

ここで私の関連する質問をチェックしてください。http://stackoverflow.com/questions/11477359/why-ajax-is-not-used-when-i-submit-my-remote-update-form – simo

関連する問題