Rails 关于:remote=>true 的困惑<已解决>

roam · 2013年01月17日 · 最后由 Roam 回复于 2013年01月18日 · 3250 次阅读

使用 remote 提交表单和连接的时候,有时候会是 ajax 形式的提交,有时候又不是,请问其中有什么关键的点呢?

大大们帮帮忙~~

加了源码~~

<%= form_tag update_person_edit_checkmen_path ,:remote =>true do%>

Component <%= text_field_tag :component , "#{@component}"%> name <%=text_field_tag :name,"",:placeholder=>"Name" %> First Name <%= text_field_tag :firstname %> Last Name <%= text_field_tag :lastname %> Eid <%= text_field_tag :eid %> Email <%= email_field_tag :email %>

这个描述得非黑即白的问题,心有余而力不足啊。不过倒是可以先看一下生产的 html 代码,看是是否有引进 jquery_ujs

#1 楼 @uudui 代码都差不多,两个 action,一个能另外一个就不能~~~表示这个问题困惑良久啊

#2 楼 @Roam 你总得把代码贴出来吧?

#3 楼 @blacktulip 好了,这是用来动态标记 table 某一 tr 的 但是 remote 为 true 却不生效 谢谢了

@Roam form 套 tr 似乎是不合法的吧。。。如果你的代码是 table 套 form 套 tr 的话。试试把 form 换到 table 层面去

建议楼主再本地创建一个可以重现问题的 demo project,然后推到 github 上,这样即使你描述的不能确认让人明白,也方便让其他人下载你的代码帮你 review code。等修正你的代码后给你 pull request。你就可以看到差异化代码,马上你就可以明白错在那里。

看看是不是这个原因: form 里面不能嵌套 form,否则里面那个 form 就会被浏览器忽略掉,于是 submit 按钮就导致表单提交了 用 chrome 或者 firebug 看一下 HTML 树结构就知道了

#7 楼 @qhwa 确实是这个样子的,我整个 table 包含在一个 供多选的 form 里面,然后单行操作的时候又:partial 形式引用了一个 form 过来,或者就是这个原因吧,但是要实现相同的功能,应该怎么做比较好呢?

但是按理说也不对啊,外面的 form 也是 remote 提交的,而且查看 params,提交的就是里面的表单的~~

#6 楼 @xds2000 好的,谢谢了

#5 楼 @darkbaby123 换了位置,但是效果还是一样的~

需要 登录 后方可回复, 如果你还没有账号请 注册新账号