我正在尝试使用jQuery访问上传到我的Rails应用程序的图像,即切换图像等。 jQuery很简单:
$('#a1').change(function() {
var src = $(this).val();
$('#t1').html(src ? "<img src='../../images/000/000/"+src+".jpg' />":"");
});
在尝试使用jQuery的Rails资产调用时,我完全陷入困境。我可以在页面的其他地方调出所需的图像,因此:
@a.image.url(:thumb)
任何帮助都会很棒。
答案 0 :(得分:1)
如果您的图片是由用户上传的,那么它们不是资产管道意义上的“资产”。您无法使用资产助手来为其提供服务。继续使用/images/000/000/etc
来访问它们。
资产是永久文件,位于app/assets
。它们不能动态上传内容,因为整个目的是预编译它们以进行生产。如果在运行rake assets:precompile
时“编译”时文件不可用,则它不适合资产管道。
答案 1 :(得分:0)
我会自己回答,以防有人帮忙。我没有直接使用jQuery访问图像,而是在Rails中为它们分配了ID,因此:
<% @articles_by_page.each do |m| %>
<%= image_tag(m.image.url(:large), :id => 'article1_thumb'+m.issue_id.to_s) %>
<% end %>
随后处理了他们在jQuery中的可见性:
$('#doc_article1').change(function() {
var src = $(this).val();
$('#thumbs1 a').css('display', 'none');
$('#article1_thumb'+src).css('display', 'block');
});
可以帮助别人。