0

我正在使用 Railscasts 182 裁剪上传的图像。根据我实现的视频:

我正在个人资料页面上传一张图片。这是我的个人资料控制器:

def edit
  @profile = current_user.profile
  if @profile.photo.nil?
    redirect_to current_user.profile
  else
    render :action => "crop"
  end
end

def update
  @profile = current_user.profile
  if @profile.update_attributes(params[:profile])
    if @profile.photo.nil?
      redirect_to current_user.profile
    else
      render :action => "crop"
    end
  else
    render :edit
  end
end

根据视频,我的crop.html.erb文件是:

<% "Crop avatar" %>

<% content_for(:head) do %>
  <%= stylesheet_link_tag "jquery.Jcrop" %>
  <%= javascript_include_tag "jquery.Jcrop.min" %>
  <script type="text/javascript">
  $(function(){
    $("#cropbox").jCrop();
  });
  </script>
<% end %>

<%= image_tag @profile.photo.avatar.url(:big), :id => "cropbox" %>

我在我的中添加了这些application.html.erb

<%= javascript_include_tag "jquery.min" %>
<%= yield(:head) %>

当我提交图像时,它会显示普通图像。它不显示选择光标,因此无法选择图像上的区域,因为它在视频中显示。

我猜 Jcrop 不工作。谁能告诉我会是什么问题?

4

1 回答 1

0

通过查看源代码或在萤火虫中运行,确保它jquery.Jcrop.min包含在生成的 HTML 文件中。$("#cropbox").jCrop();

如果不是,请尝试将此行添加//= require jquery.Jcrop.min到您的application.js然后预编译您的资产。

如果它仍然没有被包括在内,那么一个绝望的解决方案将是删除content_for head(:head)由于某种原因无法将你的 js 代码附加到标题的行(这就是我最终要做的)。

于 2013-12-10T01:53:57.767 回答