Rails新手在这里,试图让一个新的控制器工作。未定义的方法错误,但我定义了它!
当我尝试显示ann存在的实例时,我得到一个辅助方法未定义的方法错误。 代码如下。 任何想法为什么getRecipes将不确定?!
控制器:
def show
id = params[:id]
recipe_ids = ConcreteMenu.getRecipes(id)
respond_to do |format|
format.html
end
end
型号
require 'json/objects'
class ConcreteMenu < ActiveRecord::Base
has_many :menu_recipes
has_many :recipes, :through => :menu_recipes
belongs_to :menu
def self.getRecipes(id)
recipes = MenuRecipe.find(:all, :conditions => {:concrete_menu_id => id}, :select => 'id')
end
end
我强烈建议重构到'def self.foo'的首选Ruby风格,而不是'def self.getFoo'。 – Eli 2010-01-26 18:48:59
另一件事,在ruby methods_are_named_like_this。你来自Java吗? – jonnii 2010-01-26 18:58:11
你可以发布你的堆栈跟踪吗?我会说这个问题在你发布的代码之外。另外,我同意Eli的观点,并补充说Ruby的约定是snake_case,而不是camelCase。 – Ben 2010-01-26 19:00:12