两个控制器:用户和任务。 Users = Users / user_id的主页面。 用于将数据输入任务模型的主页面上的表单。 此过程由任务控制器处理。 成功输入:从数据库重定向和加载任务,确定,一切正常。 输入不成功,只需要刷新主页,以便我们保持表单输入和专用(非闪存)错误消息
我似乎无法让Tasks Controller传递原始页面。错误是缺少模板用户/ 1(如果我在浏览器中访问,这是正确的语法)。
我应该打电话给行动并通过参数吗?对这位初学者的任何帮助都会非常感激。
def create
@task = current_user.tasks.build(task_params)
if @task.save
flash[:success] = "New task created!"
redirect_to user_url(current_user)
else
flash[:error] = "Task not saved! Please see guidance by form labels"
render "users/#{current_user.id}"
end
end
private
def task_params
params.require(:task).permit(:label, :address, :content)
end
端
答案 0 :(得分:0)
users / 1不是模板,它是一条路径。在这种情况下,users / show是模板。
请注意,使用render的唯一原因是在当前控制器操作的范围内呈现模板而不是正常模板。 即你可能需要设置@user等,否则用户/节目模板会对缺少的变量感到不安。
在这种情况下,重定向到user_path(id)并允许users /#show controller action设置@user变量等可能更容易。