Okay, i think i'm finally on the right track.
As i noted, going to [host]/captchas was giving a Controller-not-found
error. i realize now it's because the route connecting '/captchas' required
an action to match... Oops. After trying the full URL that the Captcha
validator uses, i got a JSON response, but it was a 500 error, the database
was still trying to find the table *kodiak.captchas*. Changed
*TableRegistry::get('Captchas')* to
*TableRegistry::get('Thook/Websites.Captchas')* and got a JSON response i
expected.
i know most of this is considered basic stuff, so i appreciate the patience
in trying to help me. At least i'm trying to figure it out on my own while
i wait for help, right? :)
-joe
On Saturday, 30 August 2014 12:28:50 UTC-4, Joe Theuerkauf wrote:
>
> @José: Here's what i'm using that works on the Contact page where i need
> to load the Captchas model to grab a question:
>
> Works:
> Plugin::loadAll([
> [
> 'Thook/Websites' => ['routes' => true]
> ]
> ]);
>
> Also works:
> Plugin::load('Thook/Websites');
>
> Doesn't work:
> Plugin::load('Thook/Websites', ['routes' => true]);
>
> Results in ([...] shortening the path to relevant stuff):
>
> *Warning* (2): include([...]/Plugin/Thook\Websites\config\routes.php): failed
> to open stream: No such file or directory
> [*ROOT\vendor\cakephp\cakephp\src\Core\Plugin.php*, line *346*]
>
> *Warning* (2): include() [function.include]: Failed opening
> '[...]/Plugin/Thook\Websites\config\routes.php' for inclusion
> (include_path='.;C:\WebServer\php5\pear\pear')
> [*ROOT\vendor\cakephp\cakephp\src\Core\Plugin.php*, line *346*]
>
>
> However, the file path it's trying to include IS valid (aside from
> directory separators).
>
> ---
>
> @mark
> In my primary routes file:
>
> Router::scope('/', function(RouteBuilder $routes) {
> // Some routes linking to main App Controllers, working.
>
> // Per your response:
>
>
>
>
> * $routes->connect('/captchas/:action/*', [ 'plugin' =>
> 'Thook/Websites', 'controller' => 'captchas' // Also tried
> 'Captchas', but the other routes' controller values are lower-case &
> working ]);*
> $routes->connect(':controller', ['action' => 'index], ['routeClass' =>
> 'InflectedRoute']);
>
> $routes->connect('/:controller/:action/*', [], ['routeClass' =>
> 'InflectedRoute']);
>
> // This will be dropped for production. ;)
> $routes->connect('/', [
> 'controller' => 'pages',
> 'action' => 'display',
> 'home'
> ]);
> });
>
> Still receiving Controller not found when i go directly to
> *[host]/captchas*:
> Missing Controller
>
> *Error: * *CaptchasController* could not be found.
>
> *Error: * Create the class *CaptchasController* below in file:
> App\Controller\CaptchasController.php
>
> <?php
> namespace App\Controller;
>
> use App\Controller\AppController;
>
> class CaptchasController extends AppController {
>
> }
>
>
> Thanks a lot guys, for taking a look at this with me.
> -joe
>
>
> On Saturday, 30 August 2014 08:33:57 UTC-4, mark_story wrote:
>>
>> If Router::plugin() isn't getting you the routes you want, you can
>> combine scope() and connect () to create the exact routes you want. Just
>> keep in mind that all the routing data that doesn't change should be in the
>> defaults list. For example
>>
>> $routes->connect('/captchas/:action/*', ['plugin' =>
>> 'Thook/Websites','controller' => 'Captchas']);
>>
>> Would let you connect all the actions on the CaptchasController in your
>> plugin.
>>
>> -mark
>>
>>
>
--
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP
---
You received this message because you are subscribed to the Google Groups
"CakePHP" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/cake-php.
For more options, visit https://groups.google.com/d/optout.