レールで作業を始めたばかりですが、私は間違っていることがわかっていますが、私の人生ではわかりません。Rails:未定義のメソッドエラー
私はコントローラに単純なメソッドを定義して、 "ショート"と呼ばれる "ポスト"を作成しようとしています。これは、渡す文字列の短縮バージョンを返します。私のposts_controller.rbに、私は以下を書いています。
def shorten(theString, length = 50)
if theString.length >= length
shortened = theString[0, length]
else
theString
end
end
私のビューから呼び出そうとすると、定義されていないメソッドエラーが発生します。私はポストのインスタンス内からそれを呼び出すので、私は自分が必要ではないと仮定しました。私は先に進んで、とにかくメソッド定義に自分自身を前もって試してみましたが、それでも動作しませんでした。
あなたは何を探していることは、おそらくビューヘルパーメソッドで、ビューからコントローラを呼び出すことはできません。 posts_helper.rbというファイルを探して、この方法を追加します。このようにして、次のようにして呼び出すことができます。<%= shorten(post.title)%> –
ありがとう。私は短縮から "ポスト"を削除する必要があることを認識していませんでした。私のメソッドをクラスに分割することは、これはどういう意味ですか? – Dan