【发布时间】:2016-11-02 19:56:21
【问题描述】:
我想在列表的索引和显示页面中使用卖家的头像
所以我把我的列表控制器:
这是列表的完整控制器(本例中调用服务)
class ServicesController < ApplicationController
skip_before_action :authenticate_user!, only: [:index, :show]
before_action :find_service, only: [:show, :edit, :update]
before_filter :check_user, only: [:edit, :update, :show]
def seller
@services = Service.where(user: current_user).order("created_at DESC")
end
def index
if params[:category]
@services = Service.where(category: params[:category])
else
@services = Service.all
end
@seller = Service.find(params[:id]).user
end
def show
@seller = Service.find(params[:id]).user
end
def new
@service = Service.new
end
def create
@service = Service.new(service_params)
@service.user_id = current_user.id
if @service.save
redirect_to services_path
else
render :new
end
end
def edit
end
def update
if @service.user == current_user
@service.update(service_params)
redirect_to services_path
else
flash[:alert] = "Este no es su producto"
render :index
end
end
private
def service_params
params.require(:service).permit(:name, :city, :price, :category, :id)
end
def check_seller
@seller = Service.find(params[:user_id]).user
end
def find_service
@service = Service.find(params[:id])
end
def check_user
if current_user != @service.user
redirect_to root_url, alert: "No puede realizar esta accion"
end
end
end
并在显示和索引页面中添加:
<% cloudinary_url(@seller.avatar.path , width: 50, height: 50, crop: :fill) %>
在我的导航栏中,头像可以正常工作:
<%= cl_image_tag current_user.avatar.path, width: 50, height: 50, gravity: :face, crop: :thumb %>
在此先感谢
【问题讨论】:
-
能否请您提供更多详细信息,例如 html、模型 ..
-
您好,这是我的列表模型类服务,存在:真,数值:{ 大于:0} 验证:类别,存在:真,包含:{ 在:%w(签入签出 Limpieza),消息:“%{value} no es una entrada correcta” } #validates :rating, 包含:{in: [0, 1, 2, 3, 4, 5]} end'