Ruby on rails 在Rails 3.1中,当尝试从不同的模型访问模型对象时,为什么会出现错误?
我在我的Ruby on rails 在Rails 3.1中,当尝试从不同的模型访问模型对象时,为什么会出现错误?,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我在我的users/show.html.erb视图中,我正在这样做: 当前用户id%> @user.id%> 250,:类=>'xxlarge'> “btn”%> 然而,我一直得到的错误是: NilClass:Class的未定义方法“model_name” 有什么想法吗 编辑1 当我将@feedback=feedback.new添加到我的控制器的show操作时,我得到如下路由错误: ActionView::Template::Error(没有路由匹配{:controller=>“feedb
users/show.html.erb
视图中,我正在这样做:
当前用户id%>
@user.id%>
250,:类=>'xxlarge'>
“btn”%>
然而,我一直得到的错误是:
NilClass:Class的未定义方法“model_name”
有什么想法吗
编辑1
当我将@feedback=feedback.new
添加到我的控制器的show操作时,我得到如下路由错误:
ActionView::Template::Error(没有路由匹配{:controller=>“feedbacks”,:format=>nil}):
7:分享你的想法
8:
9:
10:
11:
12:当前用户id%>
13:
app/views/users/show.html.erb:10:in`_app\u views\u users\u show\u html\u erb\u 3843741595115817595\u 2495618900'
app/controllers/vanities_controller.rb:14:in'show'
编辑2
我尝试添加:url
选项,如下所示:新建反馈路径(@feedback))do | f |%>
,但出现以下错误:
ActionView::Template::Error(没有路由匹配{:action=>“new”,:controller=>“feedbacks”}):
7:分享你的想法
8:
9:
10:new|u feedback|u path(@feedback))do | f |%>
11:
12:当前用户id%>
13:
app/views/users/show.html.erb:10:in`_app\u views\u users\u show\u html\u erb\u 3843741595115817595\u 216698680'
app/controllers/vanities_controller.rb:13:in'show'
编辑3
rake路由的相关输出
:
feedbacks GET/:username/feedbacks(:format){:action=>“index”,:controller=>“feedbacks”}
POST/:用户名/反馈(:格式){:操作=>“创建”,:控制器=>“反馈”}
new_feedback GET/:username/feedbacks/new(:format){:action=>“new”,:controller=>“feedbacks”}
编辑\反馈获取/:用户名/反馈/:id/编辑(:格式){:操作=>“编辑”,:控制器=>“反馈”}
反馈获取/:用户名/反馈/:id(:格式){:操作=>“显示”,:控制器=>“反馈”}
PUT/:username/feedbacks/:id(:format){:action=>“update”,:controller=>“feedbacks”}
DELETE/:username/feedbacks/:id(:format){:action=>“destroy”,:controller=>“feedbacks”}
编辑4
路由与反馈相对应的文件
资源:
scope”:用户名“do”
资源:反馈
终止
编辑5
这就是我在的表单中使用根路径
后的Post
操作的样子:
于2011-10-17 04:19:27-0500开始发布127.0.0.1
WelcomeController#索引为HTML进行处理
参数:{“utf8”=>“✓", "真实性令牌“=>”0bbhasidfasdf72k2323424=“,”反馈“=>{”海报id“=>”4”,“接收者id“=>”5”,“内容“=>”Hrmm…这不起作用。真烦人。“}”,“提交”=>“发送”}
用户加载(0.2ms)从“用户”中选择“用户”。*其中“用户”。“id”=?限制1[[“id”,4]]
布局/应用程序中呈现的欢迎/index.html.erb(103.5ms)
在118毫秒内完成200 OK(视图:115.2毫秒|活动记录:1.1毫秒)
此问题与我的路线有关
我最终还是找到了答案,但我必须做大量的挖掘工作才能到达那里……这就引出了另一个问题:
那里的答案为我解决了这个问题。您是否尝试过将:url
选项放入form\u for
block?尝试过,并将结果放入原始问题中。您是否可以尝试:url选项和create\u feedback\u path;如果这不起作用,你能用“rake routes”检查你的路线吗?@blackbird07这是我在create\u feedback\u path
中得到的错误:未定义的方法“create\u feedback\u path”for#
。将我的rake路由输出添加到问题中。您可能已经为反馈资源准备好了路由。