2011-07-08 34 views
2

私のコードを経て、私は元の質問とは別の問題を抱えていました。私はこれの底に古い部分を残し、新しい問題をここに掲示します。彼らは密接に関連しているので、私はこれを行う。コントローラのアクションが見つかりませんでした

新:

Unknown action 

The action 'response' could not be found for CrawlerController 

をというエラーメッセージが出

イム私はそれをシンプルにしておこうが、モデルのコード、コントローラとルートは前の質問には以下の通りです。

基本的なランダウンレスポンスは、CrawlerController内のdefであり、add_Requestと同じです。 ルートは、次のような一致している:ここ

match "/requests/new" => "crawler#add_Request" 
    match 'requests/:id' => 'crawler#response' 

コントローラコードは、ユーザの要求通りである:

class CrawlerController < ApplicationController 
def add_Request 
@request = Request.new(params[:request]) 

respond_to do |format| 
    if @request.save 
    format.html { redirect_to(@request, :notice => 'Request was successfully created.') } 
    format.xml { render :xml => @request, :status => :created, :location => @request } 

    else 
    format.html { render :action => "new" } 
    format.xml { render :xml => @request.errors, :status => :unprocessable_entity } 
    end 
end 
end 

def response 
    @request = Request.find(params[:id]) 
respond_to do |format| 
    format.html 
    format.js { render :json => @request } 
    end 
end 

def show 
    @request = Request.find(params[:id]) 

    respond_to do |format| 
    format.html # show.html.erb 
    format.xml { render :xml => @request } 
    format.json{ 
     render :json => @request.to_json 
    } 
    end 
end 
end 
+1

私の命名規則があちこちにある場合、事前にお詫び申し上げます。私はまだこの新しい – overtone

+2

に新しいです。これは、ブロックの余分な終了のために修正されました。私が127.0.0.1:8080/requests/1と言うときid = 1の結果からselect *を止めることができない理由について誰でも考えてください。 – overtone

答えて

3

私はそれを

class CrawlerController < ApplicationController 
    def add_Request 
    @request = Request.new(params[:request]) 

    respond_to do |format| 
     if @request.save 
     format.html { redirect_to(@request, :notice => 'Request was successfully created.') } 
     format.xml { render :xml => @request, :status => :created, :location => @request } 
     else 
     format.html { render :action => "new" } 
     format.xml { render :xml => @request.errors, :status => :unprocessable_entity } 
     end 
    end 

    def response 
     @request = Request.find(params[:id]) 
     respond_to do |format| 
     format.json {render :@request.to_json} 
    end 
    end 

ので、いずれかを見ることができるように、コントローラのコードを再確認してください。あなたのresponseアクションが定義されていません。add_Request

+1

私は実際にリクエストをリソースとして削除しました。私はむしろ私自身のルートを定義したいと思っています – overtone

+1

コントローラから古い部分と再フォーマットコードを削除してください。 – Bohdan

+2

ああ、私のキリスト.......私は私が次のプロジェクトjavaに固執すると思います。それが{私がそれを捕らえたならば。仲間に感謝します。今私はちょうどなぜ要求が投稿要求で起こっていないのかを知る必要があります。 – overtone

関連する問題