渲染Javascript以获取部分-Rails 3

问题描述

| 我对Rails还是比较陌生,已经习惯了一些东西。确实,这只是一个简单的问题,我有一个AJAX表单(带有:remote => true等),该表单可以正常工作并将数据发送到服务器而无需页面加载。 我的问题是有关发布后可以使用的javascript文件的问题。我的部分叫\'_ newsomething.html.erb \',一旦发布,我想执行一个javascript文件-是否必须根据控制器中的动作命名这些文件才能在rails中同步并正常工作?目前,我有一个名为\'create.js.erb \'的javascript文件,其中只有一个javascript警报,但没有触发。 例如我需要有一个名为\'_ create.html.erb \'的局部文件,然后是一个名为\'create.js.erb \'的javascript文件吗?无论如何,有没有告诉Rails从控制器内部去寻找javascript文件的地方? 提前致谢! 编辑:下面的控制器代码(目前非常基本且生成
  def create
@snip = Snip.new(params[:snip])

respond_to do |format|
  if @snip.save
    format.html { redirect_to(@snip,:notice => \'Snip was successfully created.\') }
    format.xml  { render :xml => @snip,:status => :created,:location => @snip }
  else
    format.html { render :action => \"new\" }
    format.xml  { render :xml => @snip.errors,:status => :unprocessable_entity }
  end
end
结束     

解决方法

        在控制器操作中,您必须具有:
respond_to do |format|
  format.html { .... }
  format.js
end
format.js是重要的部分。如果Rails发现您正在通过AJAX进行发布,则它将呈现_create.js.erb部分。