使用 Ajax->form() 从视图访问不同的控制器方法

发布于 2024-11-08 19:34:11 字数 444 浏览 0 评论 0原文

在我的对话视图中,我试图将消息添加到对话中。

目前我有一个 Conversation hasMany Messages 关系。

现在,当我尝试调用以下代码时:

<?=$ajax->form('message','post',array('update'=>'messages')); ?>

它会生成一个带有表单操作的表单,

action="facebook/conversations/messages/add"

因此我收到一条错误消息,说我的对话控制器中没有标记为“消息”的控制器函数。

我希望该操作转至我的消息控制器。

我确信我必须实现一些非常愚蠢的代码,但我非常感谢您的帮助。

In my conversations view, I'm trying to make it so I can add messages to a conversation.

Currently I have a Conversation hasMany Messages relationship.

Now when I try to invoke the following code:

<?=$ajax->form('message','post',array('update'=>'messages')); ?>

It produces a form with a form action to

action="facebook/conversations/messages/add"

So I get an error saying I don't have the a controller function labeled "messages" in my conversations controller.

I want the action to go to my messages controller instead.

I'm sure its some really silly code I have to implement, but I'd really appreciate your help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

当梦初醒 2024-11-15 19:34:12

您可以在创建表单时显式传递 url。

echo $ajax->form('message', 'post', array('url'=>$html->url(array('controller'=>'messages', 'action'=>'action_name'))));

You can pass a url explicitly when you create a form.

echo $ajax->form('message', 'post', array('url'=>$html->url(array('controller'=>'messages', 'action'=>'action_name'))));
浅笑轻吟梦一曲 2024-11-15 19:34:12

CakePHP Book 中,您还可以使用 Ajax 表单函数的稍微不同的变体,并避免使用 Html Helper 构建 url。

$this->Ajax->form( array(
 'type' => 'post',
 'options' => array(
  'url' => array(
   'controller' => 'messages',
   'action' => 'action_name'
  )
 )
));

From the CakePHP Book you can also use a slightly different variant of the Ajax form function and avoid using the Html Helper to build the url.

$this->Ajax->form( array(
 'type' => 'post',
 'options' => array(
  'url' => array(
   'controller' => 'messages',
   'action' => 'action_name'
  )
 )
));
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文