这是一个后续问题: 在一个动作中渲染不同的看法
我得到的错误是:
Template is missing
Missing template items/show, application/show with {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder, :coffee]}.
应当指出的是,我复制了show.html.erb
文件,两个文件show_with_edit.html.erb
和show_with_star.erb
,并删除show.html.erb
以避免重复。
我的代码posts_controller.rb
def show
if signed_in?
show_signed_in
else
show_not_signed_in
end
end
def show_signed_in
#add methods here
@post = Post.find(params[:id])
respond_to do |format|
format.html # show_with_edit.html.erb
format.json { render json: @post }
end
render 'show_with_edit'
end
def show_not_signed_in
#add methods here
@post = Post.find(params[:id])
respond_to do |format|
format.html # show_with_star.html.erb
format.json { render json: @post }
end
render 'show_with_star'
end
我知道,对于现在的两种不同的意见是一致的,我只是把有不同的文字现在。 一旦我有这个确定下来,我会添加到每个查看其自己的方法和内容等。