0
これはかなり簡単ですが、これに対する回答がある場所を見つけることができません(ルートで表示されるものはすべてビュー内で発生します)。ルートパスを文字列に変換する
出力をビルドするためにコントローラへのコールバックが必要な第三者の宝石を使用しています。
私のコールバックでは、フルパスで文字列を返しています。しかし、どのように私はそれを文字列に変換するルートのパスを得ることができますか?
ルート例:
get 'edit-it/:id', to: 'controller#action', as: :edit_it
コントローラコールバック:これは、大幅にバージョンを簡略化されているが、一般的に、私は見つけることができないよう何
def button_output
# TODO: How to pass route to string with the id I need of the current
# object in callback.
id = 84848484
# I've tried (and none seem to work)
# send(:edit_it_path)
# :edit_it
# :edit_it_path(id)
# :edit_it(id)
# edit_it_route = edit_it(id) # And combo of all those above
"<a href=\"#{route_path_goes_here_with_id}\">Edit</a>".html_safe
end
。
何か不足していますか?
もう一度おねがいします!
を次にとしてそれを使用しますOps、私は私の質問を更新しますが、私は忘れていました:そこに...ちょうどそれを忘れました。 – Sean
上記の(コントローラ内の)メソッドを実行すると、次のメッセージが表示されます:未定義メソッド 'edit_it_path ' – Sean
これで問題なく動作しましたが、何らかの理由でRails.applicatrion.routes.url_helpersをコントローラに追加する必要がありました?!?!私はこれがActiveRecord :: Baseで既に定義されていると思った? – Sean