【发布时间】:2018-12-20 02:46:01
【问题描述】:
我是 Rails 新手,我有这个 no method error
show.html.erb
<h1>Profile Page for <%= @item.id %></h1>
<p><%= @item.content %></p>
items_controller.rb
class ItemsController < ApplicationController
def new
@item = Item.new
end
def create
item = Item.new(item_Params)
if item.save
redirect_to user_path(item.user)
else
render 'new'
end
end
private
def item_Params
params.require(:item).permit(:user_id, :content)
end
end
我想为items/:id 创建一个显示页面,并且我希望能够通过它们的 id 查看每个项目,我应该如何创建它?
【问题讨论】:
-
show方法在哪里? -
如何创建show方法,里面有什么参数
-
@AlbertConrad:RoR 遵循约定:视图名称与文件夹中的操作名称相同,文件夹名称与控制器名称相同。在您的代码中,您已经粘贴了显示页面的代码,但我在您的控制器中看不到显示操作的代码。另请在您的问题中粘贴错误堆栈跟踪。
-
即使没有 show 方法也不用担心,因为 Rails 更喜欢约定而不是配置,但即使在任何过滤器中也没有定义 @item
标签: ruby-on-rails ruby ruby-on-rails-4