【发布时间】:2016-03-02 22:59:03
【问题描述】:
我对 Rails 还很陌生,我遇到了一个问题,我试图创建项目,但我创建的每个项目都有 user_id 或 nil。如果我在 localhost 中创建项目并检查以确保它是在 rails 控制台中创建的,它会显示但带有user_id = nil。提前感谢您的帮助!
用户是使用 Devise 创建的。
项目控制器
class ItemsController < ApplicationController
def create
@user = User.find(params[:user_id])
@item = Item.new(item_params)
@item.user = current_user
if @item.save
@item = Item.update_items(params[:items])
redirect_to @user, notice: "Item was saved successfully."
else
flash[:error] = "Error creating item. Please try again."
render @user
end
end
private
def item_params
params.require(:item).permit(:name)
end
end
用户控制器
class UsersController < ApplicationController
# before_action :authenticate_user!
def show
@user = User.find(params[:id])
@item = Item.new
@items = @user.items
end
end
【问题讨论】:
-
对于这一行
@user = User.find(params[:user_id])应该是曾经登录过的人吗?
标签: ruby-on-rails ruby devise