由于找不到元素,我遇到了以下jquery脚本在Rails 3.1中失败的问题。
jquery的
member_submit_button = $("#member_submit");
HAML
= form_for @member do |f|
...
f.submit "Update details", :class => "member_submit_button bluebutton"
在Rails 3.0中,这工作正常,我将其跟踪到Rails 3.1而不生成id属性。在rails 3.0中,标签id =“member_submit”。
这当然可以通过添加:id =>轻松修复。 f.submit调用的“member_submit”参数。但是我想知道这种变化的原因是什么,因为我没有在任何地方看到过这种情况。
答案 0 :(得分:4)
我从Rails 3.0升级到3.1,并注意到我的一个规格由于缺少ID属性而失败。 一些谷歌搜索显示这是Rails 3.1的预期行为,如相应Release Notes (see sect. "5.3 - Action View")中所述:
提交表单助手不再生成id“object_name_id”。
即使我的消息没有完全回答你的问题,因为我无法告诉你为什么Rails团队决定做出这个改变,至少你可以确定这不是Rails的缺陷,而是一个改变形成帮手。 ;)