1

2つのモデル(ArticlesDocuments)があり、3番目のコントローラー(と呼ばれるShare)からそれらを操作しています。記事などのクリックを追跡するために、そのコントローラーでこのメソッドを作成しました。

def read_more(a)
  @article = Article.find(a)
  impressionist(@article)
end

Documentそして、いくつかの奇妙な理由で、私のアプリは、の代わりに、たとえば17のIDを持つを見つけようとしますArticle。私は完全に困惑しています。

何か案は?乾杯!

編集:

ログの読み取りは次のとおりです。

Started GET "/share/read_more/17" for 127.0.0.1 at 2012-12-17 09:37:49 +1100
Processing by ShareController#show as JS
Parameters: {"ftp"=>"read_more", "id"=>"17"}
Document Load (0.1ms)  SELECT "documents".* FROM "documents" WHERE "documents"."id" = ? LIMIT 1  [["id", "17"]]
Completed 500 Internal Server Error in 1ms

ActiveRecord::RecordNotFound (Couldn't find Document with id=17):
4

1 に答える 1

1

他の誰かが同様の問題に遭遇した場合、私は答えを理解しました。

def read_more
  @article = Article.find(params[:id])
  impressionist(@article)
  render :json => "Read."
end

どうやら、コントローラーメソッドに引数を含めることはできません。

于 2012-12-17T01:55:42.320 に答える