问题标签 [controller-actions]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2437 浏览

asp.net-mvc - 从不同的 Action 返回 ActionResult 时的 ASP.NET MVC 视图问题

我有两个 ASP.NET MVC 操作:

如您所见,GetAll 正在调用操作 GetOne。但是,当调用 GetAll()(调用 GetOne(id) 并且应该返回 GetOne 视图)时,MVC 会抛出一个错误,指出没有 GetAll 视图。嗯?

我怎样才能让 GetAll 调用 GetOne 并使用 GetOne 的视图(我认为这是一开始就发生的合乎逻辑的事情)?

0 投票
2 回答
120 浏览

asp.net-mvc - 为什么从 asp.net-mvc 中的不同控制器操作调用时我会得到不同的视图

我有 2 个不同的控制器动作。如下所示,其中一个调用与另一个相同的视图。健身版有一堆 jquery ui 标签。

问题是在动作 FitnessByTab() 选项卡没有正确加载,但在 Fitness() 上加载正常。这怎么可能,因为我的理解是他们那时将经历相同的代码路径。如您所见,我将两者都硬编码为同一日期,以确保它不是导致问题的不同日期。

编辑

问题已解决。这是我所有链接的相对引用。我没有遇到任何问题,直到我使用 firebug 突出显示由于 “../../”而不是Url.Content("而导致的一些缺失引用

0 投票
4 回答
3981 浏览

asp.net-mvc - 我应该让我的 ASP.NET MVC 控制器动作虚拟化吗?

用于生成具有虚拟操作的控制器的 ASP.NET MVC 项目的文件 -> 新项目。我不确定 MVC 2 或 MVC 3 是否停止,但这不再是最佳实践吗?

0 投票
2 回答
965 浏览

asp.net-mvc - ASP.NET MVC 选择了错误的控制器动作

我有一个控制器,它有两个同名的动作,但一个接受一些参数。为了消除歧义,一个只接受 GET 请求,而另一个只接受 POST 请求。我还有一个 HttpAjaxAttribute,它用于仅对操作方法强制执行 Ajax 调用。由于某种原因,此解决方案不可靠,有时在对 Import 操作的 GET 请求上,MVC 顽固地尝试选择 POST/AJAX 并从 HttpAjaxAttribute 引发 Ajax 异常。我发现了一个可能相关的问题。我认为以特定顺序附加属性(HttpGet 或 HttpPost,然后是 HttpAjax)可以解决问题,但事实并非如此。我的网站工作了一段时间,现在失败了。我在看似随机的时间遇到​​了这个问题。我该如何永久修复它?

控制器动作

HttpAjaxAttribute

0 投票
1 回答
366 浏览

ruby-on-rails-3 - 为标签和类别创建操作和路由

我正在使用 Rails 3.2.5 为自己创建一个博客,并且正在尝试tags正确处理categories。我想允许用户单击link_to带有标签名称的 a ,将它们带到具有相同标签的其他条目并且 URL 为'root.com/tag/selected-tag'。对于类别,我希望 URL 具有相同的内容'root.com/category/selected-category'。我已经开始使用它并使用acts_as_taggable_on标记和简单的类别(当我决定我想要什么类别时text input将成为一个)。select input

我将如何处理这个问题?我尝试为tagsand创建一个控制器categories,每个控制器只有一个index动作。因为'tags#index'我有:

对于每个tag的链接,我都有:

出于某种原因,tag被传递为:format,这就是我得到 的原因tagged_with(params[:format])

'categories#index'定义为:

category链接是:

由于tagsandcategory被传递为:formatURL 的显示为'root.com/tag.selected-tag'and 'root.com/category.selected-category'

我将如何处理tagscategories正确实现使 URL 显示为'root.com/tag/selected-tag'and 'root.com/category/selected-category'

0 投票
2 回答
648 浏览

ruby-on-rails - 更改模型状态的控制器操作的最佳实践

我有一个控制器,它对一个名为“问题”的资源具有正常的 CRUD 操作。问题表有一个名为已发布的布尔值,用于保存每个实例的状态。当一个问题将发布的布尔值设置为 true 时,问题的所有其他实例都应设置为 false。

我的问题是关于issues_controller.rb。现在,我没有将已发布的布尔值列为 attr_accessible。我的想法是我的视图中有一个按钮可以路由到特定的操作:

在进行了一些研究并重新考虑了我的方法之后,我认为创建某种新的控制器可能会更好——published_issues_controller.rb 使用更多资源丰富的路由:

这是我的第一个 Rails 应用程序 - 任何关于这些方法(或完全不同的方法)是否最好的任何见解都将不胜感激。

0 投票
2 回答
723 浏览

ruby-on-rails - Rails 的控制器如何工作?

1.) 是否可以创建不直接与模型交互的控制器动作?(即上传要解析的文件,然后添加到数据库模型中)

2.) 控制器的操作顺序是什么?我不明白控制器操作如何实例化视图,并对用户输入的参数变量做出反应。

有人能解释一下吗,谢谢。

第 II 部分 - 路由无模型表单

因此,对于我当前的上传表单,我有 2 个操作,一个上传操作(从用户获取文件),我希望将其路由到 parse_upload 操作(操作在 upload.html.erb 视图中上传的文件):

路线.rb:

行动:

upload.html.erb (我希望此上传表单将其参数推送到 parse_upload 操作)

目前我在提交文件时遇到路由错误:没有路由匹配 [POST] "/revenue_models/upload"

我假设一切正常,直到从上传表单路由到 [parse_upload] 操作。我尝试在下面遵循您的更多答案,但由于在我的情况下,我没有使用以现有模型为中心的表单,我有点迷茫。任何线索是什么问题?提前致谢。

0 投票
1 回答
39 浏览

ruby-on-rails - Rails4:创建和编辑一个对象,通过它与另一个对象的关联,到一个 form_for 助手

我有 2 个模型通过连接表相互关联:

评论具有以下列:

  • 内容
  • reader_id
  • book_id

图书控制器 (book#show) 中的显示操作定义如下:

主要思想是:读者必须读过一本书才能对其进行评论(没有书?读者不能为书写评论)

在书的显示视图(show.html.erb)中,我可以访问属于一本书的评论和阅读器对象,如下所示:

书评

每个人都可以看到一本书的个人资料,但只有那些已登录并购买了该书的人才能查看该书。我必须为 @review 对象提供一个 form_for 助手,它位于我的共享文件夹中(在视图下)。我的 form_for 助手我的 @review 对象如下所示:

我的问题是: 我希望读者能够在书籍的个人资料页面(book#show)上编辑他们对书籍的评论。我有一个 if/else 语句,用于检查是否只有登录并购买了该书的读者才能创建/更新评论。它看起来像这样:书评

我收到一个错误这个错误:

我认为这是因为上述错误中的课程是书本,而模型是@review?有人可以帮我弄清楚如何将我访问的评论对象@book传递给@review的form_for助手吗?

非常感谢!

0 投票
2 回答
1123 浏览

ember.js - 控制器动作中的访问模型?

我正在使用表单编辑一个对象,并希望从绑定到提交按钮的控制器操作中保存更改的对象。我不想将值直接绑定到模板。

这是admin/edit.hbs

这是控制器admin/edit.hbs import Ember from 'ember';

0 投票
3 回答
46 浏览

c# - 如何从控制器访问 RESTful URL 上的参数?

我在这里问了一个初步的和有点类似的问题。

现在我需要知道如何从控制器方法/操作中的 RESTful URL 中访问值。

我有一个名为 PlatypusController 的控制器,它的路由在 WebApiConfig 中设置如下:

PlatypusController.cs 有这样的代码:

当然,“int i = 2”是无稽之谈;我只是把它放在那里,这样我就可以在方法中放置一个断点来验证它是否已到达。当我选择“POST”并在 Postman 中输入此 URL 时:

(当我调用它时,该应用程序正在端口 52194 上运行)

但要完成一些有价值的事情,我需要 URL 中的“gramps”和“201509”。我怎样才能访问这些?我是否需要将它们添加到 Post 方法中,如下所示:

...或者是否有其他方法来获取它们,例如从 HttpRequest 对象或其他东西?