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 を呼び出していました。

それが問題でした。

しかし、Pedro が言ったように、Draper gem は私にはあまり効果がありませんでした...適切に機能させることさえできませんでした...

于 2012-06-26T01:32:07.130 に答える