问题描述
|
我对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部分。