我一直在使用 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 问题 wiki,设置其他具有不同设置的 railsapps 启动器。我发现 Foundation 4 产生了相同的结果,而该模式与 Twitter Bootstrap 一起使用,但我的要求是针对 Foundation 的。将 href 设置为“*”。我在 XP 机器上运行它并且在 OS X 机器上得到了相同的结果。在 Windows 和 OS X 上,Chrome、MSIE 和 Firefox 都显示相同的死链接。我在 RailsApps github wiki 上没有看到与此相关的特定问题,并且我不确定这是他们代码中的错误。
我在没有看到的javascript中忽略了什么?谢谢,山姆