Rails:控制器方法读错模型

时间:2012-12-16 22:50:44

标签: ruby-on-rails-3 model-view-controller

我有两个模型(ArticlesDocuments),我正在使用第三个控制器(称为Share)。我在该控制器中编写了这种方法来跟踪文章等的点击次数:

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

出于某些奇怪的原因,我的应用会尝试找到ID为17的Document,而不是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):

1 个答案:

答案 0 :(得分:1)

如果有其他人遇到类似的问题,我想出了答案。

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

显然你不能在控制器方法中有参数。