Jcrop没有做任何事情

时间:2014-11-08 01:42:18

标签: jquery ruby-on-rails ruby jquery-ui jcrop

我一直在关注这个Jcrop-with Paperclip教程:http://railscasts.com/episodes/182-cropping-images?view=asciicast并且我完全按照它的说法做了所有事情,但是在教程中鼠标指针在保持在在5:24的图像,我的根本没有变化;它只是一个静态图像。我怀疑我的应用程序无法访问jquery-ui或Jcrop文件,但我无法想象为什么不这样做。有没有jquery-ui / Jcrop经验的人看到我的代码有什么问题?

我的资产/ javascripts和资产/样式表都包含相应的链接文件。我使用的是Rails 4.0.10。

views / layouts / application.js:

<head>
  <title>Application</title>
  <%= stylesheet_link_tag    "application", media: "all", "data-turbolinks-track" => true %>
  <%= javascript_include_tag "application", "data-turbolinks-track" => true %>
  <%= csrf_meta_tags %>
  <%= stylesheet_link_tag    "jquery-ui.min" %>
  <%= javascript_include_tag "external/jquery/jquery" %>
  <%= javascript_include_tag "jquery-ui.min" %>
</head>

视图/东西/ crop.html.erb

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

$(document).ready(ready);
$(document).on('page:load', ready);


<%= image_tag @thing.avatar.url(:large), :id => "cropbox" %>

控制器/ things.rb

def create
  @thing = Thing.new(thing_params)
  if @thing.save
    render :action => "crop"
  end
end

模型/ thing.rb

class Thing < ActiveRecord::Base
  has_attached_file :avatar, :styles => { :large => "500x500", :medium => "300x300>", :thumb => "50x50!" }, :default_url => "/images/:style/missing.png"
  validates_attachment_content_type :avatar, :content_type => /\Aimage\/.*\Z/
  # ...
end

编辑:我尝试向crop.html.erb添加一些代码,以使turbolink正常工作,但是更改了nohing。

1 个答案:

答案 0 :(得分:1)

根据您发布的代码,它似乎

$(document).ready(ready);
$(document).on('page:load', ready);

不在<script>个标签之间。将这些代码行移到</script>之上,它应该可以正常工作。

此外,您的布局中似乎缺少<%= yield(:head) %>,因此content_for(:head)可能实际上并未在任何地方添加。