0

对不起新手的问题,但我经常想知道。我应该在哪里创建我想在我的视图中使用的方法?

我会说明的。我想在我的 user/views/show.html.erb 中调用一个方法,该方法将返回一个布尔值,并且我可以在显示页面上显示链接,也可以不显示。

好吧,我一直认为这个方法应该在模型 User.rb 中创建!但我实际上得到的是一个未定义的方法错误!

我会感谢您的帮助!

谢谢

更新

当我在User Helper中创建该方法时,它确实有效。但那是好的编程吗?这是正确的方法吗?还是有更好的方法?

4

3 回答 3

2

现在我更喜欢使用演示者,类似于此 Railscast 中显示的内容。它使您的代码保持干净、可重用,并且比 Rails Helpers 更接近 OO,这让您更加理智。:)

于 2012-06-23T17:20:39.743 回答
0

我认为如果它的显示相关代码,它可能应该进入特定的帮助程序,或者如果你希望它在所有视图中都可用,它应该进入“application_helper”。格式化和显示逻辑(就像你所拥有的)应该进入助手。

如果该方法要对您的数据进行更改,那么它可能应该进入模型。不确定您收到未定义的方法错误是什么,因为它应该可以工作。

于 2012-06-23T17:17:17.643 回答
0

其实伙计们,这很简单这里的新手没有使用对象调用它的用户方法:示例:@user.my_metho 我只是在调用 my_method

这就是问题所在。

但正如佩德罗提到的那样,德雷珀宝石真的对我没有多大作用......甚至无法让它正常工作......

于 2012-06-26T01:32:07.130 回答