RodaのビューでパスやURLを生成するにはどうすればよいですか?プラグインを使用する必要がありますか?もしそうでなければ、どうやって?または、URL /パスをハードコードする必要がありますか?私はこのようにこれを行うだろうとRailsのでRodaでリンク/ルート/パスを生成するにはどうすればよいですか?
:link_to
として
<%= home_about_path %>
RodaのビューでパスやURLを生成するにはどうすればよいですか?プラグインを使用する必要がありますか?もしそうでなければ、どうやって?または、URL /パスをハードコードする必要がありますか?私はこのようにこれを行うだろうとRailsのでRodaでリンク/ルート/パスを生成するにはどうすればよいですか?
:link_to
として
<%= home_about_path %>
は何を行うことができますがanchor
タグを使用することで、Railsのヘルパーで、href
属性の中に「手動」のルートを指定します。
あなたのApp(/app.rb
)クラスが既に定義されているとします。
あなたは(プラグインでいつものように)roda-route_listプラグインを使用して、それを追加することができ、あなたのルートを取得するには、また render
プラグインを追加して、エンジンを指定する - この場合はERBには、私は簡単かつ迅速であると思う:
class App < Roda
plugin :route_list
plugin :render, engine: 'erb'
最初のルートを作成した後、その名前、メソッド、URI、パラメータなどを指定するコメントを追加する必要があります。この場合、GETリクエストに応答するルートパス:
# route[root]: GET/
request.root do
render 'root'
end
これは# route[root]: GET /
:
route
:キーワードルートを定義するのに必要です。[root]
:ルートの名前 - レールの場合はalias
オプションです。GET
:HTTP動詞。/
: URI。詳しくはhereをご覧ください。以下のようなこれはあなたpath
、methods
とルートname
を指定するJSONファイルを与える必要があります
$ roda-parse_routes -f routes.json app.rb
、::
# routes.json:
[{"path":"/","methods":["GET"],"name":"root"}]
次に、あなたの
app.rb
ファイル内で定義されたルートを持つJSONファイルを生成するために実行可能
roda-parse_routes
を使用することができます
listed_route
メソッドを使用してルートを取得し、そのルートで作業することができます。
render 'root'
で指定し、その中にあなたがachorタグを追加し、href属性の中に、:root
ルートを求めるlisted_route
方法のコンテンツを印刷するために、同様にできるよう/views
フォルダ内のroot.erb
ファイルを作成します。
<a href="<%= listed_route(:root) %>">Root</a>
これで、ビュー内のルートにアクセスできるようになりました。同じルートにリダイレクトすることはあまり意味がありませんが、あなたは新しいルートを作成することができ、同じように、request.root
後の1をGET:
hello
ERBファイルをレンダリングすることを期待して利用できるように
# route[hello]: GET /hello
request.get 'hello' do
@greeting = 'hello world'
render 'hello'
end
a @greeting
インスタンス変数。このファイルでは、ルートルートを渡して、@greeting変数が正常に来ていることを確認できます。
<a href="<%= listed_route(:root) %>">Root</a>
<%= @greeting %>
はあなたの新しいルートを生成するために、再度roda-parse_routes
コマンドを実行することを忘れないでください。
[{"path":"/","methods":["GET"],"name":"root"},{"path":"/hello","methods":["GET"],"name":"hello"}]
のようなものが表示されます。