action 错误,求教

index.blade.php

@extends('layout')
@section('content')
    <h1>文章列表</h1>
    @foreach($articles as $value)
        <h2><a href=" { action('ArticleController@show',[$value->id]) } "> { $value->title } </a></h2>
        <h3> { $value->intro } </h3>
    @endforeach
@stop

ArticleController.php


<?php
namespace App\Http\Controllers;
use App\Article;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;

class ArticleController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        $articles = Article::all();
        return view('article.index',compact('articles'));
    }

    /**
     * Show the form for creating a new resource.
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        //
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {

    }

    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
   public function show($id)
    {
        $articles = Article::findOrfail($id);
        return $articles;
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function edit($id)
    {
        //
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {
        //
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        //
    }
}
ErrorException in UrlGenerator.php line 558:
Action App\Http\Controllers\ArticleController@show not defined. (View: F:\www\stlv\resources\views\article\index.blade.php)

那里错了。

JellyBool

你有定义show()方法的路由没有

mailman

用{{ url(‘ArticleController’,$value->id) }}没有问题。

JellyBool

写成这个形式:

 action('ArticleController@show',['id'=>$value->id])
mailman
Route::get('/articles/{id}','ArticleController@show');   
routes.php 
apsana

使用action 需要先设置 路由
Route:get('article','ArticleController@show')

mailman
Route::get('/', 'sitesController@index');
Route::get('/about','sitesController@about');
Route::get('/wenzhang','sitesController@wenzhang');
Route::get('/jiaocheng','sitesController@jiaocheng');
Route::get('/liuyan','sitesController@liuyan');

Route::get('/articles','articleController@index');
Route::get('/articles/{id}','articleController@show');
JellyBool
Route::get('/articles/{id}','ArticleController@show');

请大写:ArticleController

mailman

@JellyBool 第一条也没有大写。能访问

woailuosj

siteController是大小还是小写开头的?

woailuosj

是不是 控制器名和路由里面要一直?

apsana

@mailman action 里写的和路由写的不一样