質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

1回答

336閲覧

link_toメゾットの第一引数にCSS指定したい({method: :post}を含む)

unico444

総合スコア7

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2018/08/14 09:54

編集2022/01/12 10:55

初歩的な質問でいつもすみません
そしていつもありがとうございます

link_toメゾットの第一引数(プラウザに表示される部分)をcss指定したいです
"Edit"は問題なくできたのですが、"Delete"が指定できずエラーになってしまいます

<p><%= link_to("Edit","/posts/#{@post.id}/edit",class:"edit_btn") %></p> <p><%= link_to("Delete","/posts/#{@post.id}/destroy",class:"delete_btn",{method: :post}) %></p>

ご教示いただけませんでしょうか
よろしくお願い致します

追記:

エラー内容
SyntaxError in PostsController#show
/Users/okasir/tweet_app/app/views/posts/show.html.erb:8: syntax error, unexpected ')', expecting => ...s:"delete_btn",{method: :post}) );@output_buffer.safe_append... ... ^ /Users/okasir/tweet_app/app/views/posts/show.html.erb:10: syntax error, unexpected keyword_ensure, expecting ')' ensure ^~~~~~ /Users/okasir/tweet_app/app/views/posts/show.html.erb:12: syntax error, unexpected keyword_end, expecting ')' end ^~~

経緯
link_toメゾットの第一引数(表示されている部分)をボタンのようにデザインしたかったので、第三引数にclass:"クラス名"を加え、cssでクラス指定しようとしたのですが上記のようにエラーが出てしまいました
"Edit"は指定することができ、"Delete"のみクラス名を加えることでエラーが発生
2つの違いは{method: :post}が引数に入っているかなので、違う処理が必要なのかと考えています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2018/08/14 09:59

(Rubyがわかるわけではないので直接回答はできませんが)「エラーになる」というのでしたらそのエラーメッセージを提示してください。「起きている現象」を具体的に記載してください。何かしら過去の質問との関連性や、前提や背景「何のためにこの要件が発生したか」も記載してください。
unico444

2018/08/14 10:12

ありがとうございます!ご指摘いただいた通り追記致しました。何かおかしいところがあれば、お手数ですがまたご指摘いただけるとうれしいです..
m.ts10806

2018/08/14 10:15

比較のために正常に通ったというEdit側のコードもあるとわかりやすいと思います。ただ、出ているエラーがSyntaxErrorエラーなので単なる構文ミスのようにも思うのですが、その辺りは何か試してみましたか?
unico444

2018/08/14 10:36

,class:"delete_btn" を削除するとエラーは消えるので、この部分が問題だと考えています
unico444

2018/08/14 10:40

ご指摘いただいたコードを追記しました!ありがとうございます
guest

回答1

0

link_toなどで第3引数のhtml_optionsがよくわからなくなった場合は、全体に{}をつけた方が分かりやすいかと思います。

ruby

1<p><%= link_to("Delete","/posts/#{@post.id}/destroy", {class:"delete_btn", method: :post}) %></p>

というか、例えばEditの方は、

ruby

1<p><%= link_to("Edit", edit_post_path(@post), class:"edit_btn") %></p>

になったりしないんでしょうか。
あるいはDeleteの方も、

ruby

1<p><%= link_to("Delete", @post, class:"delete_btn", method: :delete) %></p>

だとか(ただ、これは上記のdelte_btnとはルーティングが変わっているので、ルーティングを変更されているんであればこうは書けないかもしれません)。

投稿2018/08/15 06:39

takahashim

総合スコア1877

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問