これは初心者の質問のように思えますが、簡単な答えは私にはわかりません。HTMLリンクを吐き出すメソッド を呼び出す必要がありlink_to
ます。を呼び出しますが、これはコントローラーのバージョンではなく、AVモジュールのバージョンを呼び出します。私はこれを私が意図したことをするように強制することができましたActionController
ActionView::Helpers::UrlHelper.link_to
url_for
#FIXME there must be a better way to mixin link_to
alias_method :self_url_for, :url_for
include ActionView::Helpers::UrlHelper
alias_method :url_for, :self_url_for
コントローラーで。しかし、なぜそれが正確に機能するのかはまだわかりません。誰かがメソッドのスコープとここで起こっていることを隠すことを説明してもらえますか?link_to
コントローラで呼び出すことができるように(または一般的に、モジュールからの一部のメソッドのみを含めるために)混合するためのより良い方法は何ですか(リンクを使用してフラッシュ文字列を生成することがユースケースです)。
MVCについての講義はしないでください。どちらかといえば、link_to
とは別のモジュールで行う必要がありますurl_for
。これに関するノイズの量から判断すると、多くの人がこの一見些細な問題に遭遇し、アプリを機能させるための1分間のハックが本当に必要なときに、「Railsway」で1時間を無駄にすることになります。おそらくヘルパーとこれを行うための「レールの方法」はありますか?またはより良いルビーの方法?