Laravel链接到在没有定义路线的情况下无法工作的操作


Laravel link to action not working without a defined route

我可能误解了到路由助手的链接,但如果没有在路由文件中设置路由,它就无法工作。

{{ link_to_action('UserController@loginWithFacebook', 'Facebook Login in', $parameters = array(), $attributes = array('class' => 'btn btn-primary fb-login-btn')); }}

然后,当我链接到URI时,一个旧的路由是:

    Route::get('loginuser2', array('uses' => 'UserController@loginWithFacebook'));

但是,我认为link_to_action是对该方法的直接调用。在删除我的路由文件中的上述链接后,我得到了控制器方法的未定义路由错误。

有什么办法避免这种情况吗?

如果路由本身不存在,则无法链接到操作。必须定义路线。

因此,您需要定义路由,然后link_to_action()将继续工作。在后端,它会查看您的路由,以找到与该操作相同的路由,并使用该URL。

没有办法避免它。

link_to_action用于链接到控制器。你应该使用

link_to生成html链接

echo link_to('fo/bar',$title,$attributes=array(),$secure=null);