【发布时间】:2016-06-28 05:26:14
【问题描述】:
我已从视图中删除了一个 ID,但我的咖啡脚本文件响应好像我没有。当我尝试应用新 ID 时,它不会响应新 ID,但仍会响应旧(不再存在)ID。
我尝试了rake assets:precompile 和rake assets:clean,但无济于事。
可能有一个线索:coffeescript 在 lists.coffee 中,而视图是 devise/registrations/new.html.erb(不是 Lists 模型的一部分)。我正在使用 lists.coffee,因为该操作取决于该文件中编写的函数,我必须在 users.coffee 中复制这些函数。
我不认为问题与将咖啡脚本放在错误的文件中有关,因为我在其他情况下也这样做过,而且没问题。另外,它没有解释为什么它会响应不再存在的 ID。
请帮忙!
编辑(代码示例和进一步说明):
lists.coffee:
$ ->
...
$('#user_settings_sex').change ->
...many actions...
设计/注册/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_sex 不在视图中,coffeescript 也会响应此 ID,并且仅响应此 ID。当我在咖啡脚本中使用 user_settings_sex 作为 id 时,一切正常。在视图中使用哪个 ID 没有区别(这就是 ID 当前为 #test-sex 的原因,因为我正在试验)。
【问题讨论】:
-
也许你应该发布有问题的代码,这样人们就会明白你指的是什么。
-
@dan-klasson 代码已添加。如果有特定的附加部分会有所帮助,请告诉我。
标签: javascript jquery ruby-on-rails ruby coffeescript