Ruby on Rails form_remote_tag缺少模板

时间:2010-03-01 16:39:16

标签: ruby-on-rails ruby ajax

我正在使用form_remote_tag(:url => {:controller => "home", :action => "search"}, :update => "mydiv")。当我在表单上单击提交“mydiv”时会填充错误“模板丢失。缺少模板主页/ search.erb在视图路径应用程序/视图中”。我在render中尝试了多个def search选项,但它们都会导致相同的错误。

看起来搜索方法正在尝试使用它的默认渲染,即使我正在指定我想要的内容。

我试过了:
render 'index'
render :text => 'Return this from my method!'

我的网址不正确吗?是不是要回到我家控制器的搜索方法?

3 个答案:

答案 0 :(得分:0)

尝试

render :action => 'index'

这将使用“index.rhtml”或“index.html.erb”。

答案 1 :(得分:0)

我将尝试解释为什么它说找不到search.erb,让我们为某个模型创建动作,如果我的创建动作中有一些错误,它们会抛出缺少的模板create.html.erb文件,因为您在创建操作中有一些错误rails将尝试在页面中呈现create.html.erb。希望我能清楚地解释清楚。

在ajax操作中,您无法直接使用redirect_to或渲染选项。 尝试在搜索操作中使用此功能

render :update do |page|
  page.replace_html "ur_div_id","partial"
end

答案 2 :(得分:-1)

form_remote_tag需要原型才能运行。确保您的javascript库包含:defaults即原型。

<%= javascript_include_tag :defaults %>