Rails 用回形针响应 image.url 多个网址
Rails respond with paperclip image.url multple urls
我正在构建一个简单的 rails 应用程序,使用户能够上传一些图像。
现在我需要一个简单的控制器,returns 相关记录的图像 url 具有相同的 id_attivita。
为此,我在控制器中创建了一个函数并在 routes.rb 文件中启用它。
我的问题是关于如何使用回形针提供的 image.url 属性值响应 http 请求?
def getattached
@photo_attivitum = PhotoAttivitum.where(id_attivita: params[:id_attivita])
respond_to do |format|
@photo_attivitum.each do |p|
format.html { render :json => p.image.url}
end
end
结束
它有效,但它 returns 只有第一条记录的 url 而不是其他四个记录的 url...
我该怎么办?
将以下 gem 添加到您的 Gemfile
gem 'active_model_serializers'
然后使用 bundle 安装它
bundle install
你可以生成一个序列化器如下
rails g serializer photo_attivitum
它将在
中创建序列化程序 class 文件
# app/serializers/photo_attivitum_serializer.rb
class PhotoAttivitumSerializer < ActiveModel::Serializer
attributes :id, :image_url
def image_url
object.image.url
end
end
在控制器中
def getattached
@photo_attivitum = PhotoAttivitum.where(id_attivita:
params[:id_attivita])
render json: @photo_attivitum
end
不确定你想做什么?显示 json?
中的所有图片网址
urls = @photo_attivitum.pluck('image_url')
format.html { render :json => urls}
我正在构建一个简单的 rails 应用程序,使用户能够上传一些图像。 现在我需要一个简单的控制器,returns 相关记录的图像 url 具有相同的 id_attivita。 为此,我在控制器中创建了一个函数并在 routes.rb 文件中启用它。 我的问题是关于如何使用回形针提供的 image.url 属性值响应 http 请求?
def getattached
@photo_attivitum = PhotoAttivitum.where(id_attivita: params[:id_attivita])
respond_to do |format|
@photo_attivitum.each do |p|
format.html { render :json => p.image.url}
end
end
结束
它有效,但它 returns 只有第一条记录的 url 而不是其他四个记录的 url... 我该怎么办?
将以下 gem 添加到您的 Gemfile
gem 'active_model_serializers'
然后使用 bundle 安装它
bundle install
你可以生成一个序列化器如下
rails g serializer photo_attivitum
它将在
中创建序列化程序 class 文件# app/serializers/photo_attivitum_serializer.rb
class PhotoAttivitumSerializer < ActiveModel::Serializer
attributes :id, :image_url
def image_url
object.image.url
end
end
在控制器中
def getattached
@photo_attivitum = PhotoAttivitum.where(id_attivita:
params[:id_attivita])
render json: @photo_attivitum
end
不确定你想做什么?显示 json?
中的所有图片网址 urls = @photo_attivitum.pluck('image_url')
format.html { render :json => urls}