2016-12-28 100 views
0

我认为这会自动进行,因为我已经设法为我的销毁行动这样做了,但没有激活JS。如何在Rails中使用与成员操作同名的js.erb?

我控制器操作是这样的:

def visability_toggle 
    @picture = Picture.find(params[:id]) 
    @picture.toggle! :visable 

    respond_to do |format| 
     format.js { render :action => 'visability_toggle' } 
    end 
    end 

而且现在我的pictures/_visability_toggle.js.erb,我想与我的控制器看起来是这样的:

alert('Picture id: #{@picture.id}'); 

工作本身的操作。而且这个JS是正确的,当我在控制器动作中加入render js: ...时,它是正确的。

+1

不知道你真正的问题是什么在这里,但如果你想导轨自动检测您的'js.erb'文件,不要用下划线预置它,仿佛它是一个局部 – Viro

+0

就是这样。谢谢。 –

回答

0

如上所述:在命名我的模板时,我应该留下下划线。

0

刚刚尝试这个..

respond_to do |format| 
    format.js { :location => path_to_controller_method_url(argument) } 
end 

你如何在respond_to代码使用Ruby on Rails的控制器中的另一个js文件?

respond_to do |format| 
    format.js { 
     :template => "pictures/visability_toggle.js.erb", 
     :layout => false 
    } 
end