链接运行ajax命令的最佳方法是什么(我在Rails 3.1中使用jquery)?到目前为止,我试图通过控制器操作“update_me”使用链接来运行代码。
views/products/new.html.erb
包含以下内容:
<%= link_to "Update", :action => 'update_me' %>
在我的产品控制器中,我有:
def update_me
logger.debug 'ajax code will be here'
end
但是这会丢失模板错误:
缺少模板
缺少模板产品/ update_me,application / update_me,{:handlers =&gt; [:erb,:builder,:coffee],:formats =&gt; [:html],:locale =&gt; [:en,: EN]}。搜索:*“/ home / ubuntu / code / preevio / app / views”*“/ home /ubuntu / .rvm / gems / ruby-1.9.2-p290 @ rails31 / gems / devise1.4.3 / app /意见“
为什么我的观点中需要update_me.html.erb
?我认为这就是他们想要的。我不能只是在控制器动作/方法中启动代码而不必查看它吗?或者我是以错误的方式接近这个?
答案 0 :(得分:3)
我知道这个答案有点晚了,但是我发布给其他可能在这里试图做类似事情的人。
如果您将html行更改为
<%= link_to "Update", :action => 'update_me', :remote => true %>
应该有提供操作的链接并为您执行ajax调用。
您可以查看提供的链接以查看文档。
http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-link_to
答案 1 :(得分:0)
由于Rails具有约定优于配置,因此Rails需要适当的视图来控制控制器中的操作。
如果你想要什么都不渲染: http://guides.rubyonrails.org/layouts_and_rendering.html#using-render
render :nothing => true