问题标签 [controllers]

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 回答
217 浏览

asp.net-mvc - 分组控制器

在 Visual Studio 2008 项目中,如何构造他的控制器以在以下指令中访问?

http://localhost/MyWebsite/api/users/get/1

/api/ 和 /users/ 都是控制器“get”,是“users”的方法,参数为 1

本质上,我说的是实现 REST 我会假设。

有任何想法吗?

谢谢,尼克

固定的

Phil Haack 开发了一个名为 Areas 的扩展,它允许将他的控制器分组到一个 ASP.Net MVC 项目中。 分组控制器

0 投票
2 回答
1123 浏览

ruby-on-rails - 用于批评的 Rails 应用程序控制器(随意苛刻)

我编写了一个应用程序控制器,它可以处理我需要任何控制器来完成的 99% 的事情。我已经把它贴在这里(pastebin)。就像我说的,随意苛刻。

-更新:添加评论:)

谢谢,

-C

PS 我想说的是,我在这里的意图是覆盖子类控制器中需要不同功能的方法,例如_message 方法和after_方法。应用程序控制器将充当一种抽象类。此外,一些 before_filters 是特定于插件的,例如 tiny_mce 和 restful_authentication(太棒了,恕我直言。)

0 投票
2 回答
329 浏览

ruby-on-rails - Rails - 两个控制器或添加动作?

设计具有管理部分和面向公众部分的 Web 应用程序。感觉就像为“索引”和“显示”设置一个面向公众的控制器有点多余。我读过的所有建议都为管理员建议了一个命名空间,这很好。我只是想知道我是否应该有一个带有附加操作的控制器,比如“list_public”或类似的东西。

我是 Rails 的新手,所以也许我什么都不关心。我只是不喜欢将所有这些具有相同名称的控制器、视图、助手分散在我的项目目录中的想法。

有人对此有任何见解吗?提前致谢。

0 投票
3 回答
3531 浏览

asp.net-mvc - 如何指定将为 Mvc 控制器创建 Mvc 视图的位置?

重要更新
自 MVC 2.0 Preview 1 发布以来,此功能已作为实际框架本身的一部分以区域的形式实现。Phil Haack 的博客上提供了更多详细信息

我有一个名为 ListManagerController 的控制器。此控制器包含一个名为 Index() 的 ActionResult 方法。当我在 Visual Studio 中右键单击索引并选择添加视图时,新视图将在 /Views/ListManager/Index 中创建。

但是,我希望在 /Views/ Manage /ListManager/ 中创建索引视图和所有后续视图。我将如何做到这一点?

编辑:有人指出,这个问题与此处发布的问题重复。看来我的搜索技巧最初让我失望了。

0 投票
1 回答
1072 浏览

validation - 书呆子晚餐验证规则问题

在 NerdDinner 教程的 Step 5中,在Complete Edit Action Method Implementations下的中间有一段:

我们的 Edit 实现的好处是,我们的 Controller 类和 View 模板都不需要知道关于晚餐模型强制执行的特定验证或业务规则的任何信息。我们可以在未来向我们的模型添加额外的规则,并且不必为了支持它们而对我们的控制器或视图进行任何代码更改。这使我们能够灵活地在未来通过最少的代码更改轻松地发展我们的应用程序需求。

我的问题是可以添加什么样的规则,并且以这样一种方式,我不会失去我的干净分离。我可以看到这段代码:

比这段代码更好:

因为我没有特定的类/模型信息并且可以在整个应用程序中使用它。而且,如果我的错误处理像上面这样简单,我可以看到这有多好,但是我看不到如何为新的业务规则添加更复杂的东西,并希望有一个例子。

0 投票
7 回答
285918 浏览

asp.net - 在 ASP.NET MVC 中显示来自另一个控制器的视图

是否可以显示来自另一个控制器的视图?

比如说我有一个CategoriesController和一个Category/NotFound.aspx观点。而在中CategoriesController,我可以轻松返回View("NotFound")

现在说我有ProductsController一个动作和视图来添加一个产品。但是,此操作需要我们有一个类别来添加产品。例如,Products/Add/?catid=10

如果我找不到基于的类别catid,我想显示类别控制器中的视图,而不是在产品控制器下NotFound创建视图。CategoryNotFound

这是可能的还是我以错误的方式构建事物?有没有好的方法来做到这一点?

0 投票
2 回答
1512 浏览

asp.net-mvc - 拆分 MVC 控制器功能的最佳方法是什么?

制作 Controller 时,拆分它的最佳方法是什么?

如果我有一个管理部分,它下面有一堆 .ascx Web 用户控件和一些 .aspx 页面。我应该有一个 AdminController 吗?或者我应该为每个单独的管理页面/网络用户控件设置一个控制器?

似乎对单个页面的操作负责与 MVC 试图从 Web 表单改进的事情之一背道而驰。但同时,您不希望您的整个网站使用一个控制器...

我了解控制器应该做什么,但一个单独的控制器应该负责多少?划分 Controller 职责的最佳方法是什么?

谢谢,
马特

0 投票
1 回答
274 浏览

asp.net-mvc - 如果视图是从不同的控制器创建的,您可以从控制器调用方法吗?

假设我从返回视图 Index.aspx 的 HomeController 调用了 Index(),Index.aspx 上的 javascript 中的 jquery ajax 可以调用另一个控制器 (ExternalController) 中的方法吗?

没有给我错误,页面是从 HomeController 呈现的

给了我一个内部服务器错误...

只是想知道这是否可能是因为我调用的控制器与渲染视图的控制器不同

0 投票
1 回答
345 浏览

ruby-on-rails - 使用 ActiveScaffold 设置实例变量

我最近将 ActiveScaffold 添加到现有 Rails 项目中,我遇到的问题是 ActiveScaffold 使用的变量名称与我已有的不同。我希望能够在控制器中设置实例变量,而不是遍历整个应用程序并更改所有实例变量名称。问题是@recordand@records不能被调用before_filters,即使before_filter是在active_scaffold调用之后。通过插件查看,我发现ActiveScaffold::Actions模块内部没有明显的钩子。我在想:

  1. 有这样的钩子吗?
  2. 如果没有,我应该如何放入一个?
0 投票
1 回答
418 浏览

ruby-on-rails - Collection_select 问题

更新:已解决。谢谢忙马克!
编辑:这是根据 BushyMark 的以下回答进行修改的。我认为我正确地进行了所有建议的更改,但是当用户提交消息时,我仍然无法将 post_type_id 保存到数据库中。

我的应用程序有一个个人资料页面。在个人资料页面上,页面所有者可以键入更新并点击“提交”。更新消息出现时无需重新加载页面(即 Ajax)。

它基本上看起来像您的 Twitter 主页。但是,我们的用户在输入更新时也会选择一个消息“类型”。消息类型是一个预先填充的列表。我已将其作为模型并将其作为种子数据加载到应用程序中。

所以:有一个 profile 模型、一个 post 模型和一个 post_type 模型。

profile has_many :posts
post belongs_to :post_type
post_type has_many :posts
后模型也有这个:attr_accessible :message, :post_type_id

Routes.rb 看起来像这样:
map.resources :users, :has_one => :profile, :has_many => :posts
map.resources :post_types

帖子控制器有这种创建帖子的方法:

发生这一切的个人资料页面的“显示”视图如下所示:

这就是背景。这就是问题所在。使用我当前的设置,当用户提交他的消息时,消息被发送到帖子数据库表,但 post_id 没有。

我的选择标签呈现如下:
<select id="post_post_type_id" name="post[post_type_id]"><option value="">Please select</option>

这是我提交帖子时在日志中得到的输出:
Processing PostsController#create (for IP at 2009-09-03 03:03:08) [POST]

Parameters: {"message"=>"This is another test.", "commit"=>"Update", "action"=>"create", "authenticity_token"=>"redacted", "post"=>{"post_type_id"=>"3"}, "controller"=>"posts", "user_id"=>"1"}

User Load (0.3ms) SELECT * FROM "users" WHERE ("users"."id" = 1)

Profile Load (0.7ms) SELECT * FROM "profiles" WHERE ("profiles".user_id = 1) LIMIT 1

Post Create (0.5ms) INSERT INTO "posts" ("message", "updated_at", "post_type_id", "profile_id", "created_at") VALUES('Hello', '2009-09-03 20:40:24', NULL, 1, '2009-09-03 20:40:24')

这是我的架构的相关部分,根据 BushyMark 的评论进行了更新: