Ruby on rails Ruby:变量范围问题
嘿,我是新手 我曾经在我的一个控制器里有很多东西。有人告诉我,拥有“胖模型和瘦控制器”是一种很好的做法,所以我把一些东西移到了模型上 在我的控制器的show方法中,我曾经在视图中使用了一些@variables。现在我在模型中的一个方法中有了这些变量。我是否仍能访问我视图中的那些内容?如果是的话,我需要做任何调整吗Ruby on rails Ruby:变量范围问题,ruby-on-rails,ruby,variables,scope,models,Ruby On Rails,Ruby,Variables,Scope,Models,嘿,我是新手 我曾经在我的一个控制器里有很多东西。有人告诉我,拥有“胖模型和瘦控制器”是一种很好的做法,所以我把一些东西移到了模型上 在我的控制器的show方法中,我曾经在视图中使用了一些@variables。现在我在模型中的一个方法中有了这些变量。我是否仍能访问我视图中的那些内容?如果是的话,我需要做任何调整吗 谢谢您必须在控制器中创建一个模型实例作为@变量。然后可以从视图内部调用这些方法 e、 想象一下,你的控制器中有一长串逻辑,用来计算客户的信用分数,最终达到 @credit_score
谢谢您必须在控制器中创建一个模型实例作为@变量。然后可以从视图内部调用这些方法 e、 想象一下,你的控制器中有一长串逻辑,用来计算客户的信用分数,最终达到
@credit_score = credit_score
现在,您已经在Customer
模型上将其移动到credit\u score
方法中
你现在只需要
@customer = Customer.find...
在控制器中
您可以在视图中使用
这就是人们所说的胖模型和瘦控制器。如果您想获得更多建议,那么最好使用应用程序中的一些细节更新问题。常见做法是在控制器中定义此类变量:
@object = Model.new
以后在或类似的情况下使用它。有些人使用模型。而直接在视图中使用new
。这有点不寻常,但仍然有意义,特别是知道Rails每次都只是循环遍历控制器中的所有实例变量,以使它们在视图中可用