在我的应用程序中,我使用了letrate gem,在开发上所有工作都很好,但在生产明星上没有显示原因? letsrate.js.erb文件
$.fn.raty.defaults.path = "/assets";
$.fn.raty.defaults.half_show = true;
$(function(){
$(".star").raty({
score: function(){
return $(this).attr('data-rating')
},
number: function() {
return $(this).attr('data-star-count')
},
click: function(score, evt) {
$.post('<%= Rails.application.class.routes.url_helpers.rate_path %>',
{
score: score,
dimension: $(this).attr('data-dimension'),
id: $(this).attr('data-id'),
klass: $(this).attr('data-classname')
},
function(data) {
if(data) {
// success code goes here ...
}
});
}
});
});
$.fn.raty.defaults.path = "/assets";
它适用于开发但不适用于生产,我认为它不起作用,因为在资产预编译后的生产中所有图像都移动到公共/资产路径 我需要做什么才能显示图像? mysite.com/assets/star-on-287807403acda8ff0b61388109ea5b6e.png 我的图片“星星”在这个网址上
答案 0 :(得分:1)
1步骤:请将以下行粘贴到application.js文件:
//= require jquery.raty
//= require letsrate
2步:在终端中执行以下cmd行:
rake assets:precompile RAILS_ENV=production
3步骤:将.png文件从/ images文件夹复制到/ public / assets目录
star-half.png
star-off.png
start-on.png
4步:在终端中执行以下cmd行:
rails s -e production
我正在使用NetBeans IDE环境,Rails 4.2和letrate gem 1.0.9