我在其他目录(admin /)中有一些操作但是如何重定向到管理控制器中的vin_questions路径?现在它给了我错误
Template is missing
我的代码
def create
@va = VinAnswer.new(params[:vin_answer])
@va.vin_question_id = params[:vin_question_id]
@va.save
render :layout => 'admin'
redirect_to admin_vin_questions_path
end
和部分路线(佣金路线)
admin_vin_questions GET /admin/vin_questions(.:format) admin/vin_questions#index
POST /admin/vin_questions(.:format) admin/vin_questions#create
new_admin_vin_question GET /admin/vin_questions/new(.:format) admin/vin_questions#new
edit_admin_vin_question GET /admin/vin_questions/:id/edit(.:format) admin/vin_questions#edit
admin_vin_question GET /admin/vin_questions/:id(.:format) admin/vin_questions#show
PUT /admin/vin_questions/:id(.:format) admin/vin_questions#update
DELETE /admin/vin_questions/:id(.:format) admin/vin_questions#destroy
但是怎么了?如何重定向到/ admin / vin_questions?
UPD
Template is missing
Missing template admin/vin_answers/create, application/create with {:locale=>[:ru], :formats=>[:html], :handlers=>[:erb, :builder, :coffee, :haml]}. Searched in: * "/media/_Projects/Oleg/app/views" * "/home/pavel/.rvm/gems/ruby-1.9.3-p194/gems/kaminari-0.14.1/app/views" * "/home/pavel/.rvm/gems/ruby-1.9.3-p194/gems/devise-2.1.2/app/views"
答案 0 :(得分:0)
我会在控制器中做这样的事情
class YourController < ApplicationController
layout :resolve_layout
your actions
private
def resolve_layout
case action_name
when "index"
"layoutxxx"
when "show"
"layoutzzz"
when "create"
"admin"
else
"application"
end
end
并从您的创建控制器中删除此行
render :layout => 'admin'
答案 1 :(得分:0)
尝试:
def create
@va = VinAnswer.new(params[:vin_answer])
@va.vin_question_id = params[:vin_question_id]
if @va.save
redirect_to admin_vin_questions_path # redirect if saved.
else
render :layout => 'admin' # stay here.
end
end
如果没有,请在vin_questions控制器中设置布局。