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

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

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

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

Bootstrap

BootstrapはウェブサイトデザインやUIのWebアプリケーションを素早く 作成する可能なCSSフレームワークです。 Twitter風のデザインを作成することができます。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

Q&A

解決済

2回答

2619閲覧

laravel5で編集ボタンを作りたい、またボタンのデザインを統一したい

退会済みユーザー

退会済みユーザー

総合スコア0

MySQL

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

Bootstrap

BootstrapはウェブサイトデザインやUIのWebアプリケーションを素早く 作成する可能なCSSフレームワークです。 Twitter風のデザインを作成することができます。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

0グッド

0クリップ

投稿2016/07/11 02:28

編集2016/07/12 08:20

laravel5.2で、ブログサイトを作っています。
ララ帳というサイトを見たりと、真似している状態です。
2点ほど、お聞きしたく思っています。
一は、編集ボタンを作ってみたのですがエラーがでてしまうこと。
もう一つは、ボタンのデザインが統一されないことです。また、<table class="table table-striped table-hover">とかを指定しても、反映されていないようなので、その辺りも教えていただければ助かります。

私自身、理解していない部分も多いですがよろしくお願いします。

app.blade.php <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>L5Blog</title> <link href="/css/app.css" rel="stylesheet"> </head> <body> <div class="container"> <div class="row"> <div class="page-header"> <h1>L5Blog</h1> <div class="col-md-12"> @yield('content') </div> </div> </div> </body> </html>
index.blade.php @section('content') <div class="page-header"> <h2>記事一覧</h2> </div> <div> <a href='/articles/create' class="btn btn-primary btn-lg">投稿</a> </div> <table class="table table-striped table-hover"> <thead> <tr> <th>タイトル</th> <th>本文</th> <th>作成日時</th> <th>更新日時</th> </tr> </thead> <tbody> @foreach($articles as $article) <tr> <td>{{{ $article->title }}}</td> <td>{{{ $article->body }}}</td> <td>{{{ $article->created_at }}}</td> <td>{{{ $article->updated_at }}}</td> <!--詳細ページへのリンクを追加 --> <td> <a href="/articles/show/{{{ $article->id }}}" class="btn btn-primary btn-xs">詳細</a> <a href="/articles/edit/{{{ $article->id }}}" class="btn btn-success btn-xs">編集</a> {!! Form::open(['action' => ['ArticlesController@postDelete', $article->id]]) !!} <button type="submit" class="btn btn-danger btn-xs">削除</button> {!! Form::close() !!} </td> </tr> @endforeach </tbody> </table> @endsection
edit.blade.php @extends('app') @section('content') <h2 class="page-header">記事編集</h2> {!! Form::open(['action' => ['ArticlesController@postEdit', $article->id]]) !!} <div class="form-group"> <label>タイトル</label> {!! Form::input('text', 'title', $article->title, ['required', 'class' => 'form-control']) !!} </div> <div class="form-group"> <label>本文</label> {!! Form::textarea('body', $article->body, ['required', 'class' => 'form-control']) !!} </div> <button type="submit" class="btn btn-default">編集</button> {!! Form::close() !!} @endsection
show.blade.php @extends('app') @section('content') <h2 class="page-header">記事詳細</h2> <table class="table table-striped"> <li> <a href="/articles/edit/{{{ $article->id }}}" class="btn btn-primary pull-left"> 編集</a> </li> <li> {!! Form::open(['action' =>['ArticlesController@postDelete', $article->id]]) !!} <button type="submit" class="btn btn-danger pull-left">削除</button> {!! Form::close() !!} </li> </table> <tbody> <tr> <th>タイトル</th> <td>{{{ $article->title }}}</td> </tr> <tr> <th>本文</th> <td>{{{ $article->body }}}</td> </tr> <tr> <th>作成日時</th> <td>{{{ $article->created_at }}}</td> </tr> <tr> <th>更新日時</th> <td>{{{ $article->updated_at }}}</td> </tr> </tbody> </table> @endsection

エラー内容についてです。
編集ボタンを押すと以下のように表示されます。
ErrorException in UrlGenerator.php line 602:
Action App\Http\Controllers\ArticlesController@postEdit not defined. (View: C:\Users\Laravel_practice\resources\views\articles\edit.blade.php)

routes.phpとArticlesController.phpを追記しました。
cssフレームワークは、laravel5.2にbootstrapが入っているので、そちらを使いたいです。
度々、すみませんがよろしくお願いします。

routes.php ?php Route::get('/', 'ArticlesController@getIndex'); Route::controller('articles', 'ArticlesController');
ArticlesController.php <?php namespace App\Http\Controllers; use App\Article; use App\Http\Requests; use App\Http\Controllers\Controller; use Illuminate\Http\Request; class ArticlesController extends Controller { /** * @var Article * 一覧、詳細、作成、編集、削除のアクションをそれぞれ定義する */ protected $article; /** * @param Article $article */ public function __construct(Article $article) { $this-> article = $article; } /** * 記事の一覧 * * @return \Illuminate\View\View */ public function getIndex() { $articles = $this->article->all(); return view('articles.index')->with(compact('articles')); } /** * 記事の詳細 * * @param $id * @return \Illuminate\View\View */ public function getShow($id) { $article = $this->article->find($id); return view('articles.show',compact('article')); } /** * 記事の投稿 * GET/articles/createの場合はgetCreate() * POST/articles/createの場合はpostCreate() * @return \Illuminate\View\View */ public function getCreate() { return view('articles.create'); } /** * 記事の投稿 * * * @param Request $request * @return \Illuminate\Http\RedirectResponse */ public function postCreate(Request $request) { $data = $request->all(); $this->article->fill($data); $this->article->save(); return redirect()->to('articles/index'); } /** * 記事の編集 * * @param $id * @return \Illuminate\View\Viwe */ public function getEdit($id) { $article = $this->article->find($id); return view('articles.edit')->withArticle($article); } /** * 記事の編集 * * @param Request $request * @param $id * @return \Illuminate\Http\RedirectResponse */ /** * 記事の削除 * * @param $id * @return \Illuminate\Http\RedirectResponse */ public function postDelete($id) { $article = $this->article->find($id); $article->delete(); return redirect()->to('articles/index'); }

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

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

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

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

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

romiogaku

2016/07/11 07:08

エラーが出ているのならエラー内容を追記してください。 デザインはCSSによるのでこれだけではわかりません。 CSSフレームワークを使っているのならそれについても情報を教えて下さい。
romiogaku

2016/07/12 01:25

Action App\Http\Controllers\ArticlesController@postEdit not defined が答えだと思いますが・・・ routes.phpとArticleControllerについて追記してください。 CSSフレームワークを使っているのならそれについても情報を教えて下さい。
guest

回答2

0

ベストアンサー

ArticleControllerにpostEditがないことが原因ではないでしょうか?
(代わりにgetEditがあるようですが。。)

Bootstrapが反映されない件については、ブラウザ上で意図するCSSファイルが読み込まれているか確認するとよいと思います。

投稿2016/07/14 06:54

tokutoku393

総合スコア54

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

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

退会済みユーザー

退会済みユーザー

2016/07/20 00:49

しっかり、確認できていなかったみたいです。 postEditをArticleControllerに追加したら、ちゃんと動きました。ありがとうございます。 bootstrapの方は、まだよくわかっていないのですがCSSファイルを確認してみます。
guest

0

下記のソースをArticleControllerに追加しました。

public function postEdit(Request $request, $id) { $article = $this->article->find($id); $data = $request->all(); $article->fill($data); $article->save(); return redirect()->to('articles/index'); }

投稿2016/07/20 00:51

編集2016/07/20 00:52
退会済みユーザー

退会済みユーザー

総合スコア0

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問