0

他のディレクトリ(admin /)にいくつかのアクションがありますが、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"
4

2 に答える 2

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コントローラーでレイアウトを設定します。

于 2012-12-12T22:25:37.213 に答える
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'
于 2012-12-12T22:22:38.837 に答える