我对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
js格式是其中的重要部分。如果Rails发现您正在通过AJAX进行POST,那么它将呈现_create.js.erb部分。