Rails 5.2.0(作为API)
/config/application.rb
config.active_storage.variant_processor =:vips
问题:
/serializers/api/v1/user/current_user_serializer.rb
class Api::V1::User::CurrentUserSerializer < Api::V1::User::BaseSerializer
include Rails.application.routes.url_helpers
attributes(
[...]
:avatar
:created_at
)
def avatar
if object.avatar.attachment
avatar = {
image: url_for( object.avatar ), # This one works
thumb: url_for( object.avatar.variant(resize_to_fit: [800, 800]) ), # EXCEPTION
thumb_test: url_for( object.avatar.variant(resize: '800x800') ) # Returns image of size: 640x800 (expected 800x800)
}
end
end
end
Run Code Online (Sandbox Code Playgroud)
我得到以下异常:
exception: "<MiniMagick::Error: `mogrify -resize-to-fit [800, 800] /tmp/mini_magick20180625-19749-rghjbg.jpg` failed with error: mogrify.im6: unrecognized option `-resize-to-fit' @ error/mogrify.c/MogrifyImageCommand/5519. >"
Run Code Online (Sandbox Code Playgroud)
编辑
谢谢@George Claghorn
我现在根据这篇文章创建了自己的变体: …
我怎么能用rails语法写这个呢?
<a href="/" class="glyphicon glyphicon-fire logo" aria-hidden="true" ></a>
Run Code Online (Sandbox Code Playgroud)
可能它是这样的:
<%= link_to '', root_path, class: 'glyphicon glyphicon-fire logo', **???** %>
Run Code Online (Sandbox Code Playgroud) 我是webpacker和yarn的新手。我使用以下命令成功安装了该软件包:
加纱力矩
编辑2:
这是我的进口
# app/javascript/packs/application.js
import moment from 'moment/moment'
import 'moment/locale/de-ch'
Run Code Online (Sandbox Code Playgroud)
问题:我不能在旧的JS资产文件中使用“ moment”包
首先起作用,其他不起作用:
# in: app/javascript/packs/application.js
console.log('Log: ' + moment([2007, 0, 29]).toNow()) #=> Log: in 10 Jahren
# in app/*assets*/javascripts/application.js
console.log('Log2: ' + moment([2007, 0, 29]).toNow()) #=> Uncaught ReferenceError: moment is not defined
Run Code Online (Sandbox Code Playgroud)
编辑1:
这里是webpacker安装过程的关键点:
注意:我将我的应用程序从Rails 4.2升级到5.0,然后又升级到5.1。也许我的应用程序中缺少某些东西