更新:我的问题得到回答,但我写了一篇博客,详细说明究竟我如何着手这样做: http://lathamcity.com/posts/ajaxInRails.html
我有一个页面,显示的基于Ruby对象的事情的清单。 我的目标是做一个Ajax调用来获取一个新的Ruby对象,然后更新基于该列表。
我认为这样做,这是用谐音。 我使整个列表,在代码中的Rails的实例变量的部分文件。 然后我想在Ajax调用相应的实例变量设置为新的列表,并重新渲染部分。
这是最终目标,但现在我想做的是,我只是设置一个实例变量为一个字符串一个很基本的版本,然后显示的字符串。
所以在我的div,我有:
<% form_tag :action => :go , :method => :get, :remote => true do %>
<%= submit_tag "Go" %>
<% end %>
<div id="test"><%= render(:partial => 'test') %></div>
有一个在一个_test.erb文件views/interface
文件夹(我的控制器的名称),只有下面一行的内容:
<%= @test %>
然后在我的控制器,
def go
@test = "Hello You"
render :update do |page|
page.replace_html "test", :partial => "test"
end
end
当我跑,我得到: Missing template interface/update, application/update
我不知道很多关于render :update
,我发现它在谷歌上的例子。
我在做什么错,是造成这个问题,我该如何解决? 我要对这个正确的方式还是有更好的方式来做到这一点?