Ruby on rails Rails通过ajaxthows破坏js错误
好的,我正在用items应用程序构建一个非常简单的列表,与您的标准待办事项列表应用程序几乎完全相同。我已经成功地在列表中创建了新的“点”(点Ruby on rails Rails通过ajaxthows破坏js错误,ruby-on-rails,ajax,ruby-on-rails-3,jquery,Ruby On Rails,Ajax,Ruby On Rails 3,Jquery,好的,我正在用items应用程序构建一个非常简单的列表,与您的标准待办事项列表应用程序几乎完全相同。我已经成功地在列表中创建了新的“点”(点属于:list并且列表有许多:点),但是我在“销毁”操作方面遇到了问题 当我在浏览器中单击destroy链接时,没有任何明显的变化,我得到了错误error:Syntax error,unrecogned expression:/lists/10/points/125,根据列表和点的id,这些值明显不同 如果我刷新页面或查看数据库,很明显条目确实已被删除。没有
属于:list
并且列表有许多:点
),但是我在“销毁”操作方面遇到了问题
当我在浏览器中单击destroy链接时,没有任何明显的变化,我得到了错误error:Syntax error,unrecogned expression:/lists/10/points/125
,根据列表和点的id,这些值明显不同
如果我刷新页面或查看数据库,很明显条目确实已被删除。没有ajax,我的销毁操作就可以正常工作。我觉得我肯定错过了一些明显的东西,有什么想法吗
仅供参考,“pro”属性只是与每个点关联的布尔值
points_controller.rb
列表/show.html.erb
符合事实的
:method=>:delete,
:class=>“关闭”,
:data=>{:dismise=>'alert'}%>
我在views/points/destroy.js.erb中输入的内容似乎并不重要,因为代码似乎没有得到执行
使现代化
我弄明白了,我必须将删除链接中的路径更改为list\u point\u url(@list,point)
。另一个问题是,我的无效javascript导致了服务器错误,因此我没有意识到问题是什么(原来#
需要用引号括起来)
谢谢大家 可能会检查删除链接是否路由到
destroy
控制器操作,因为list\u point\u path
看起来并不是真正的删除路由
编辑 很抱歉知识的匮乏,但我不确定作为一条路线,
[@list,point]
会产生什么。这是我自己的观点,仅供参考:
link_to "Delete", admin_photo_path(photo), :method => :delete, :confirm => "Delete this image?", :class => "btn-trash"
我的admin\u photo\u路径
是路由到单个photo
实例的单一路径;不是收藏
编辑
简单的方法是将delete发送到point对象,也许这会有所帮助
link_to "×".html_safe, point,
:remote => true,
:method => :delete,
:class=> "close",
:data => {:dismiss => 'alert'}
问题可能在视图中,因为执行了控制器代码,所以记录被删除。听起来它没有呈现destroy.js.erb。尝试使用
:format=>:js
或其他方法强制使用该格式。我从中学到,我可以简化为[@list,point]来指定路由,如true,:method=>:delete%>
我一直在使用该格式在视图中生成路径,它们都可以工作,而且它在没有ajax的情况下也可以工作……好吧,我想我知道什么了[@list,point]将创建为路由。它将创建类似于list\u point\u path的URL。因此在这种情况下,点属于list。因此,删除可能已发送到list controller而不是point controller?仅将其发送到point
的示例返回未定义的方法
point\u path'`
link_to "Delete", admin_photo_path(photo), :method => :delete, :confirm => "Delete this image?", :class => "btn-trash"
link_to "×".html_safe, point,
:remote => true,
:method => :delete,
:class=> "close",
:data => {:dismiss => 'alert'}