0
的Rails 3.2.3Rails和AJAX - 將值傳遞給局部視圖
我需要通過點擊使用AJAX鏈接插入一個表中的許多行。它工作完美,但有一個問題。當我將值@paged_photo
傳遞給partial時,它就是null。但它絕對不是空的,它包含一個數據。
#家用/ index.html.erb
<table id="photos_table">
<%= render :partial => 'test_partial' %>
</table>
<%= link_to "More photos", {:controller => "home", :action => "test_method" }, :remote => true %>
#家用/ _test_partial.html.erb; #there 3個TD的每一行 #@ paged_photos爲null這裏出於某種原因
<tr>
<td>
<%= link_to :controller => 'photos', :action => 'show', :id=>@paged_photos[0].id do %>
<%=image_tag(@paged_photos[0].source)%>
<%end%>
</td>
<td>
<%= link_to :controller => 'photos', :action => 'show', :id=>@paged_photos[1].source do %>
<%=image_tag(@paged_photos[1].source)%>
<%end%>
</td>
<td>
<%= link_to :controller => 'photos', :action => 'show', :id=>@paged_photos[2].id do %>
<%=image_tag(@paged_photos[2].source)%>
<%end%>
</td>
</tr>
#家用/ test_method.js.erb
$('#photos_table').append('# <%=j render :partial => 'test_partial'%>');
控制器
def test_method
@paged_photos = get_photos
respond_to() do |format|
format.js
end
end
如何將值傳遞給partial來爲表插入一行?
而我如何在部分訪問它? '<%=:paged_photos%>'不起作用。 – Alexandre 2012-07-15 07:44:54
其實,沒有必要去做你寫的東西。我可以在控制器方法中定義一個變量@my_var並在部分 – Alexandre 2012-07-15 07:49:27
@AlexMaslakov中訪問它,您可以簡單地訪問視圖中的「paged_photos」變量。例子'<%= paged_photos%>'。你對'@ my_var'部分是正確的,但是我懷疑它是在通過Ajax呈現時傳遞的。 – 2012-07-15 08:37:21