newとeditで同一の部分テンプレートを利用しているが、それぞれちょっとだけ変えたい時
current_page?(URL)
で指定したページにいるか判定してくれます。
_form.html.haml
- if current_page?(new_tweet_path)
%p 新規作成
- elsif current_page?("/tweets/#{tweet.id}/edit")
%p 編集
= form_with model: tweet, local: true do |form|
...
new.html.haml
= render "form", tweet: @tweet
edit.html.haml
= render "form", tweet: @tweet
newページでは新規作成
が、
editページでは編集
が表示されるようになりました。
`(URL)`の部分は以下が可能みたいです。 エラーが出たらいくつか試してみてください。
###・URL
current_page?(http://hoge.com/hoge)
###・パス
current_page?(/tweets/new)
###・prefix
current_page?(new_tweet_path)
###・アクション指定
current_page?(action: "new")
###・コントローラー&アクション指定
current_page?(controller: "tweets", action: "new")
参考 >http://shonoooo.hatenablog.com/entry/2017/10/31/232302
ではまた!