我对rails有疑问。
我有一个用户控制器, 我有一个产品控制器。
我在产品中有一个用户ID引用:db。
如何将User.product编号放入Html?
答案 0 :(得分:0)
首先,您需要配置devise gem以对您的用户模型进行身份验证,以将user_id列添加到您的product表中。
rails g migartion add_user_id_to_products user_id:integer:index
在您的用户模型中
class User < ApplicationRecord
has_many :products
end
在您的产品型号中
class Products < ApplicationRecord
belongs_to :user
end
由于您的用户和产品通过has_many和belongs_to关联。 您可以在产品控制器中进行以下操作
class ProductsController < ApplicationController
def index
@products = Product.all
end
def new
@product = Product.new
end
def create
@product = current_user.products.build(product_params)
if @product.save
redirect_to edit_product_path(@product), notice: "Saved..."
else
render :new
end
end
private
def product_params
params.require(:product).permit( :title, :description, :category)
end
end
如果数据成功保存到数据库中,您会发现products表的user_id列填充了current_user的id。
获取特定用户的所有产品
在您的用户控制器中显示操作
def show
@user_products = @user.products
end
@user_products将拥有属于相应用户的所有产品。