2012-10-10 59 views
1

PARAMS AJAX例如如何在下面的例子中創建Ajax:的Rails 3.2與控制器

在控制器:

def index 
    if params[:p] == "one" 
     @record = "Hello, 1!" 
    elsif params[:p] == "two" 
     @record = "Hello, 2!" 
    else 
     @record = "something else" 
    end 
end 

鑑於(打着招呼控制器,索引動作):

<%= link_to "One", hellos_path(:p => "one") %> 
<%= link_to "Two", hellos_path(:p => "two") %> 
<%= render :partial => 'record' %> 

部分_record.html.erb:

<%= @record %> 

就是這樣。索引控制器中的所有操作和只有params正在改變。我不想重新加載整個頁面 - 只用新的控制器變量記錄部分內容。

如何「AJAXize」? :)

回答

4

1-添加:遠程=>真到鏈接:

<%= link_to "One", hellos_path(:p => "one"), :remote => true %> 

2-創建具有視圖index.js.erb的:

$("#your_div").html("<%= render :partial => "record" %>") 

3-創建一個div在你的index.html.erb中的id your_div。這個div將被填充@record對象。

+0

在第三步,我需要添加一些像'

'並從視圖中刪除'<%= render:partial =>'記錄'%>'? –

+0

你需要像你說的那樣創建div。如果你想離開渲染部分,默認的索引頁面會顯示它,這取決於你。 –

+0

是的,但當我點擊鏈接,我得到「完成200 OK」,但它不存在於瀏覽器:( –