我应该在哪里创建在我的视图中使用的方法?

时间:2012-06-23 16:34:47

标签: ruby-on-rails ruby-on-rails-3

抱歉新手问题,但我常常想知道。 我应该在哪里创建我想在我的View中使用的方法?

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

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

我会帮助你!

由于

更新

用户帮助中创建方法时,它确实有效。 但这是良好的编程吗?它是正确的方式吗?或者是否有更好的方式?

3 个答案:

答案 0 :(得分:2)

现在我更喜欢使用演示者,类似于shown in this Railscast。它使您的代码保持清洁,可重用,并且比Rails助手更接近OO,这可以让您更加清醒。 :)

答案 1 :(得分:0)

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

如果该方法将对您的数据进行更改,那么它可能应该进入模型。不知道你得到一个未定义的方法错误,因为它应该工作。

答案 2 :(得分:0)

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

这就是问题所在。

但是,正如佩德罗提到的那样,德雷珀宝石对我来说真的没什么用... 甚至无法让它正常工作......