我的js.erb
文件不会出现在Rails 3.1.2中,这让我很困惑。我把它包含在app/views/items
中。我有这个:
respond_to do |format|
format.html { render :action => :index }
format.js {render :content_type => 'text/javascript' }
end
并且它的名字正确。我尝试过不同的名称组合,但我甚至不理解js.erb是如何被包含的,因为它不在我的源代码中。我在alert('hello');
中添加了js.erb
,但它不会运行。
答案 0 :(得分:2)
如果js.erb
与控制器操作同名,request.xhr?
为真,则会自动呈现js.erb
。在respond_to
块中,删除format.js
之后的代码,使其看起来像:
respond_to do |format|
format.html { render :action => :index }
format.js
end
请确保激活此内容的链接包含remote => true
,例如link_to 'Some action', some_action_path, :remote => true
。