问题标签 [controller]

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 投票
6 回答
373 浏览

ruby-on-rails - 你将如何整理这个控制器逻辑?

如果满足某些条件,我在控制器中有一些逻辑可以设置对象的状态:

我在创建和更新操作之间共享。你将如何重构这种肮脏的东西?寻找最佳实践。

编程新手,热衷于清理我的代码。

TIA。

0 投票
2 回答
280 浏览

ruby-on-rails - 将业务规则移入模型

我之前问了一个问题,引起了一些很好的反应。

这是之前的问题

根据那里给出的一些建议,我尝试移动以下控制器逻辑

进入模型,如下所示:

我从 before_save 回调中调用它。

默认情况下,consulted_legal 和consulted_marketing 属性都设置为false 而不是null,这就是为什么我在这里测试== false 或true,而不是询问

例如。

但是,这种逻辑似乎不起作用。如果我检查该对象,则永远不会将状态设置为任何内容。谁能发现为什么会发生这种情况?例如,我是否知道模型中的属性是如何被错误访问的?

TIA

0 投票
1 回答
1761 浏览

grails - 使用电子邮件服务的 Grails 错误

这是控制器

类 JavaMailerController {

这是服务

导入 javax.mail。; 导入 javax.mail.internet。; 导入 java.util.*;

类 JavaMailerService {

// 以防万一,但目前没有必要,奇怪的是 props.put("mail.smtp.auth", "true"); //props.put("mail.smtp.debug", "true"); props.put("mail.smtp.socketFactory.port", d_port); props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory"); props.put("mail.smtp.socketFactory.fallback", "false");

新的互联网地址(m_to));Transport.send(msg); } catch (Exception mex) { mex.printStackTrace(); } }

}

私有类 SMTPAuthenticator 扩展 javax.mail.Authenticator { public PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication(d_email, d_password); } }

错误

错误 200:java.lang.NullPointerException:无法在空对象上调用方法 serviceMethod() Servlet:grails URI:/JavaMailer/grails/javaMailer/x.dispatch 异常消息:无法在空对象上调用方法 serviceMethod() 原因:java。 lang.NullPointerException:无法在空对象上调用方法 serviceMethod() 类:未知在行:[-1] 代码片段:

0 投票
4 回答
3250 浏览

ruby-on-rails - 如何检查控制器操作是否已经重定向?

好的,通常情况下,我的应用程序中有一个控制器操作,它被 before_filter 保护免受未经授权的访问。唯一的是,如果另一个条件为真,我需要重定向此操作:

在我的测试中,我检查以确保该操作受到正确保护,但是,@order.is_free 语句也是如此。在这种情况下,我收到以下错误:

有没有办法检查以确保我没有重定向或覆盖现有的重定向?

0 投票
12 回答
670 浏览

grails - Controllers in Grails

I'm writing a small webapp in Grails and I have the following question regarding best practices for controller design and using GORM:

I'm storing the user object in session.user. Currently all my action methods start with the following code to make sure a valid user is logged in and that the user object is fresh:

Is that best practice? Can it be done in a better and/or more concise way?

0 投票
5 回答
64831 浏览

c# - 在 ASP.NET MVC 中向控制器传递多个参数;此外,在 LINQ-to-SQL 中生成动态查询

我正在开发一个基本的问题管理系统以学习 ASP.NET MVC。我已经把它启动并运行到一个相当不错的水平,但我遇到了一个问题。

我有一个名为 Issue 的控制器,带有一个名为 Open 的视图。/Issue/Open 列出了当前记录在系统上的所有未解决的问题。我已经定义了这样的路线:

到目前为止,这工作正常,在 IssueController.cs 中使用以下代码:

这工作正常(虽然,我想知道是否有比开关更好的方法来处理我的查询定义?)但现在我希望能够在 Open Issues 视图上做两件事:

  1. 按任何标题排序 - 好的
  2. 过滤某些标题(技术人员、客户、类别、优先级、状态) - ??

我不知道如何将两个参数传递给控制器​​,以便我可以组织我的查询。我也刚刚意识到,除非我弄清楚如何动态生成我的查询,否则我将需要(排序选项的数量)*(过滤器选项的数量)在我的开关中。

啊,谁能指出我正确的方向?干杯!

0 投票
1 回答
4799 浏览

ruby-on-rails - 在 Rails 中更改 controller.action_name

我在 Rails 上进行一项操作,但我希望从另一项操作中继续处理。我的代码如下所示:

这行得通,但是 action_name——尽管它在 ActionController 实例中发生了变化——在从视图中检索时被重置为

有什么方法可以设置并使其粘住吗?

编辑:我找到了另一个不涉及此问题的解决方案,即此处。谢谢!

0 投票
3 回答
2593 浏览

authentication - 从 Grails 中的过滤器定义控制器可访问变量

我正在 Grails 中编写一个小型 Web 应用程序,为了确保所有用户都经过身份验证,我使用了以下过滤器:

所有控制器方法都从读取请求对象的用户属性开始:

上面的代码有效,但我宁愿避免所有控制器方法中的重复代码。过滤器是否可以将用户对象绑定到一个名为“user”而不是“request.user”的变量,所有控制器都可以访问该变量?

我知道可能存在范围界定问题使这成为不可能,但 Grails 框架似乎能够在幕后创造相当多的魔力,所以我认为这可能值得一问。

0 投票
1 回答
168 浏览

unit-testing - 在 ASP.net MVC Beta 1 中进行测试

我正在为控制器编写单元测试,这是我的代码。

我基本上跟随 Rob Conery 的 asp.net 店面应用程序,并意识到我不能使用 RenderView 方法。如图所示,我尝试了 ViewResult 方法来创建视图的实例。我收到此错误:错误 1 ​​无法将类型“System.Web.Mvc.ViewDataDictionary”转换为“HomeOwners.Controllers.DocumentsController.DocumentsData”C:\Documents and Settings\drmarshall\My Documents\Visual Studio 2008\Projects\HomeOwners \HomeOwners.Tests\DocumentsControllerTests.cs 61 54 HomeOwners.Tests

我是在使用正确的替换方法还是遗漏了什么?

我想到了。

0 投票
3 回答
114 浏览

ruby-on-rails - 为什么这个关联的创建调用不起作用?

我有一个包含许多项目的用户模型。评级属于用户和项目。

在数据库中,我将 rating.user_id 设置为不为 NULL。

当我创建一个项目时,我想这样做:

但是,这与 SQL 错误“user_id 不能为零”有关

所以我将create方法重写为

效果很好。

但是,我曾认为将创建方法链接到当前用户的接收器会填充评级的 user_id。有谁知道为什么不?

TIA。