coffeescript 的行为就像 ID 仍然存在一样,但它不存在
coffeescript acts like an ID still exists, but it does not
我已经从视图中删除了一个ID,但我的coffeescript文件响应好像我没有。当我尝试应用新 ID 时,它不会响应新 ID,但仍会响应旧的(不再存在的)ID。
我试过rake assets:precompile
和rake assets:clean
,但无济于事。
一个线索,也许是:coffeescript在lists.coffee中,而视图是dedesigne/registrations/new.html.erb(不是Lists模型的一部分)。我正在使用lists.coffee,因为该操作取决于该文件中编写的函数,我必须在users.coffee中复制这些函数。
我认为问题与将 coffeescript 放入错误的文件中无关,因为我在其他情况下已经这样做了,而且很好。另外,它没有解释为什么它会响应不再存在的 ID。
请帮忙!
编辑(代码示例和进一步说明):
列表.咖啡:
$ ->
...
$('#user_settings_sex').change ->
...many actions...
devise/registrations/new.html.erb
<%= n.select(:sex, [['Male', 'm'],['Female', 'f'],['Decline to say', 'd']],
:id => "test-sex",
:include_blank => true,
:allow_blank => false,
:selected => params[:sex]) %>
即使 #user_settings_不在视图中,coffeescript 也会响应此 ID,并且仅响应此 ID。当我在咖啡脚本中使用user_settings_作为 id 时,一切正常。在视图中使用哪个 ID 没有区别(这就是为什么 ID 当前是 #test-,因为我正在试验)。
这与 coffeescript 无关:如果您查看生成的 html,您会发现 select 元素没有 id test-sex
。
这是因为 select
方法采用两个选项哈希::selected
和 :include_blank
等选项,以及应用于 select 元素的 html 选项的第二个哈希。诸如设置该元素的 id 或类之类的事情需要在第二个哈希中,即。
n.select(:sex,[['Male', 'm'],['Female', 'f'],['Decline to say', 'd']],
{
:include_blank => true,
:allow_blank => false,
:selected => params[:sex]
}, {
:id => "test-sex"
})
- 正在将事件处理程序添加到不存在的类
- javascript如果图像不存在don't加载它
- 由于响应中不存在“Access Control Allow Origin”标头,跨域请求停止工作
- JavaScript-如果以前不存在文本,如何从文本区域删除新行
- 如何将一个函数附加到一个不存在的元素上
- 在scala或scalajs Diode中,现有类型中的任何一种都符合“;更新一个没有'还不存在”;
- 查找数组's按属性不存在于另一个数组中的对象
- 用javascript在对象上创建不存在的方法
- 仅当值不为'不存在
- casperjs-css选择器存在,但当单击它时会引发“”;CasperError:无法在不存在的选择器“”上调度mou
- 运行时不存在Javascript函数
- 使用webdriver和selenium验证元素是否不存在
- 如果文件不存在,fs.watch是否有错误处理程序
- 试图把注意力集中在一个不重要的元素上是不是一种糟糕的做法;不存在
- Backbonejs:在视图中渲染的模型,但在集合中不存在
- 从params推送到对象(如果不存在)
- 当锚点HREF源不存在时隐藏图像
- 如何从网站获得apple touch图标,如果没有;不存在,则显示收藏夹
- coffeescript 的行为就像 ID 仍然存在一样,但它不存在
- Javascript DOM元素隐藏类和不存在的元素是一样的