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

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

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

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Ruby on Rails

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

Q&A

解決済

1回答

3298閲覧

scaffoldのdeleteが上手く動作しない

hello_world0

総合スコア32

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Ruby on Rails

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

0グッド

1クリップ

投稿2017/05/31 02:37

削除のリンクを押しても削除することができません。
destroyアクションへのリンクは

<%= link_to '削除', "/tweets/#{tweet.id}", method: :delete %>

コントローラーは

def destroy @tweet.destroy respond_to do |format| format.html { redirect_to tweets_url, notice: 'Tweet was successfully destroyed.' } format.json { head :no_content } end end

となっています。ルーティングは> resources :tweetsにしています。
destroyアクションへのリンクをクリックすると、 Edit | Back とだけ表示されたページが出てきてしまいます。destroy.html.erbは作成してあります。
どうして上手く削除することができないのでしょうか?ご回答お願い致します。

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

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

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

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

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

guest

回答1

0

ベストアンサー

本当に削除に失敗していますか?

destroyに成功すれば、redirect_toindexに飛ぶようになっていますので、無事成功していると思われます。destroyのビューが呼ばれることは(このコードでは)ありません。

投稿2017/05/31 02:46

maisumakun

総合スコア145183

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

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

hello_world0

2017/05/31 02:51

いや、できていないと思います。mysqlのguiアプリのsquel proで見てみると削除できていません。また、indexにはtweet一覧が表示されるようにしていますが、ツイートは一つも削除されていません。
maisumakun

2017/05/31 02:57

「 Edit | Back のみの画面」のURLはどんな感じですか?
hello_world0

2017/05/31 02:59

/tweets/1という感じです。1のところはツイートのidなのでツイートによって違います。
maisumakun

2017/05/31 04:13

rails-ujs(もしくはjquery-ujs)が動作していなくて、showが呼ばれている可能性もあります。show.html.erbに書き足すなりして確認してみて下さい。
hello_world0

2017/05/31 06:08

show.html.erbにはどこに何を書き足せばいいのでしょうか?すみません、初心者なもので...。
maisumakun

2017/05/31 06:11

なんでもいいから書き足してみて、それが表示されればshowに飛んでいる、ということになります。
hello_world0

2017/05/31 06:13

書き足してみたものが表示されました。showに飛んでるんですね。showに飛ばないためには、どうすればいいのでしょうか?
maisumakun

2017/05/31 06:19

DELETEリクエストはブラウザ自体のアクションで投げられないので、jquery-ujs(Rails 4.2以下)やrails-ujs(Rails 5.0以上)といったライブラリで、「method: :delete」の値を読み取って処理しています。 これらのライブラリが呼ばれないと、単なるGETリクエストになってしまうので、JavaScript関連の設定を確認して下さい。
hello_world0

2017/05/31 06:30

application.jsに//= require jquery //= require jquery_ujs //= require_tree .を追加したらできました!協力してくださり、本当に助かりました。有難うございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問