我正在使用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不工作。谁能说出问题是什么?
答案 0 :(得分:0)
通过查看源代码或在firebug中运行jquery.Jcrop.min
,确保结果HTML文件中包含$("#cropbox").jCrop();
。
如果不是,请尝试将此行//= require jquery.Jcrop.min
添加到application.js
,然后预编译您的资产。
如果它仍未被包含,那么一个绝望的解决方案是删除content_for head(:head)
行,由于某种原因,它无法将你的js代码附加到标题(这就是我最终做的)。