0

link_to タグを使用して有効性を変更しています。

  <%= link_to "Mark as " + (doc.is_valid ? "invalid" : "valid"), 
                  :action =>'change_validity',:id => doc.id %>

ここで、is_valid はブール値を持つテーブル内のフィールドです。true の場合、リンクは「無効としてマーク」として表示されます。リンクをクリックすると、コントローラーのメソッド「change_validity」メソッドが呼び出されます。このメソッドは is_valid フィールドを切り替えて、ビューに「Mark as valid」を表示します。

これは私がAJAXを使ってやりたいことです。link_to_remote を使用してみました。しかし、私はそれを得ることができませんでした。誰かがそれを行う方法を説明できますか???

4

2 に答える 2

1

1 つの部分ページを作成します。_preview.html.erb を作成し、以下のコードを部分ビューに入れます

<%= link_to_remote "Mark as " + (doc.is_valid ? "invalid" : "valid"), :update => "update", :url => { :action => "change_validity", :id => doc.id } %>

メイン ビューの file.put コードの下に

<div id="update">
    <%= render :partial => "preview", :locals => { :doc => @doc} %>
</div>

コントローラーには以下のコードが必要です

def change_validity
// do stuff here
render :partial => "preview", :locals => { :doc => @doc}, :content_type => 'text/html'
end
于 2012-09-14T11:27:58.510 に答える
0

link_to_remote は Rails 3 では使用できません。リンクに:remote => trueを追加してください。

link_to "Mark as " + (doc.is_valid ? "invalid" : "valid"), 
              change_validity_path(:id => doc.id), :remote => true

編集:レールの場合<3試してください

link_to_remote(
        "Mark as " + (doc.is_valid ? "invalid" : "valid"),
        :url => {:action => "change_validity", :id => doc.id},
        :update => "your_div_id",
        :html => {:class => "something"}
      )
于 2012-09-14T11:00:24.610 に答える