Foundation,modal和Rails:不推荐使用event.returnValue

时间:2014-01-20 20:01:30

标签: javascript ruby-on-rails-3 zurb-foundation railsapps

我一直在使用Railsapp项目来获得这个项目的良好开端,这是我第一次使用Foundation帮助我完成前端。

他们的用户管理在其视图中使用以下代码来显示用户。

   <% @users.each do |user| %>
   <tr>
    <td><%= link_to user.name, user %></td>
    <td><%= user.email %></td>
    <td><%= user.created_at.to_date %></td>
    <td><%= user.roles.first.name.titleize unless user.roles.first.nil? %></td>
    <td>
      <a data-toggle="modal" href="#role-options-<%= user.id %>" class="btn btn-mini" type="button">Change role</a>
      <%= render user %>
    </td>
    <td><%= link_to("Delete user", user_path(user), :data => { :confirm => "Are you sure?" }, :method => :delete, :class => 'btn btn-mini') unless user == current_user %></td>
</tr>
  

这似乎非常简单,因为启动了一个模式以允许用户更改所选用户的角色。但是,当我单击“更改角色”链接时,没有任何事情发生,就像没有安装javascript一样。服务器日志也报告没有活动。

我在控制台中收到此错误:

 event.returnValue is deprecated. Please use the standard event.preventDefault() instead. 

显然,javascript正在运行,我可以看到它正用于其他功能,例如“删除用户”的警告消息。我用谷歌搜索了错误信息,我所看到的只是它是一个警告,就是这样。但我没有看到如何解决这个问题。

这是我的application.js

 //= require jquery
 //= require jquery_ujs
 // Note: Foundation 5 won't work with turbolinks
 //= require foundation
 //= require_tree .
 $(function() {
   $(document).foundation();
 });

其他疑难解答步骤是谷歌其他railsapps问题维基,设置其他railsapps启动器具有不同的设置。我发现Foundation 4产生了相同的结果,而modal与Twitter Bootstrap一起使用,但我的要求是针对Foundation。将href设置为“*”。我在XP机器上运行它,并在OS X机器上获得相同的结果。 Chrome,MSIE和Firefox在Windows和OS X上都显示相同的死链接。我在RailsApps github wiki上看不到特定的问题,我不相信这是他们代码中的错误。

我在javascript中忽略了什么,我没有看到? thanx,sam

1 个答案:

答案 0 :(得分:0)

很抱歉说(毕竟你的麻烦)但简单地说,模态是为Bootstrap编写的,尚未更新以适应Foundation。看到 https://github.com/RailsApps/rails_apps_composer/issues/261