特定のモデルの値を返すメソッドをモデルで取得するにはどうすればよいですか。
コードは次のとおりです
モデル記事
def article_title(id)
art = Article.find_by_id(id)
return art.title
end
ビューは次のとおりです
<% arttitle = Article.article_title(id) %>
これは機能しませんが、それを行う方法がわかりません
特定のモデルの値を返すメソッドをモデルで取得するにはどうすればよいですか。
コードは次のとおりです
モデル記事
def article_title(id)
art = Article.find_by_id(id)
return art.title
end
ビューは次のとおりです
<% arttitle = Article.article_title(id) %>
これは機能しませんが、それを行う方法がわかりません
インスタンス メソッドを定義しました。これは、アーティクル インスタンスで呼び出した場合に実際に機能するはずです (ただし、設計上はあまり意味がありません)。self.article_title(id)
クラスメソッドにするように定義します。
また、変数を定義してビューでルックアップを実行することは、通常はお勧めできません。ビューは情報を表示するためのテンプレートであり、それ以上のものではありません。ビジネス ロジックが予測不可能な方法でアプリ全体に広がるほど、将来の開発と変更が難しくなります。
メソッドは、self
キーワードを使用してクラス メソッドとして定義する必要があります。
def self.article_title(id)
Article.find(id).title
end