标签: controller

如何在 rspec 测试期间在回调中传递变量?

我有回调名称authenticate_admin_user。如果当前用户电子邮件 ID 为“adminuser@admin.com”,则返回 true

def authenticate_admin_user!
 if Current.user.blank? || Current.user.email != "adminuser@admin.com"
  redirect_to courses_path, danger: "Admin login required" 
 end 
end
Run Code Online (Sandbox Code Playgroud)

当我调用 new action 时,此回调将运行。在测试新操作时,我必须设置 Current.user 值

describe "GET /new" do
    describe "Create course with admin login"
      it "will not renders a new course page" do
        get new_course_url
        expect(response).to_not be_successful
      end
      it "will render a new course page" do
        get new_course_url
        expect(response).to be_successful
      end
  end
Run Code Online (Sandbox Code Playgroud)

如何设置Current.user的值?PS:这里 Current 是一个 ActiveSupport::Currentattributes 模型,而 user 是 Current 类中的一个属性。

testing controller rspec ruby-on-rails rspec-rails

1
推荐指数
1
解决办法
482
查看次数

具有独特元素的 Elementor 中继器

我需要分别更改每个中继器内元素的位置、颜色、背景图像。

我的小部件代码在这里:

$repeater->add_control(
  'clock_gy_minute_hand_position', array(
     'label' => __('Minute Hand Position', 'origami-clock'),
     'type' => Controls_Manager::DIMENSIONS,
     'default' => array('isLinked' => false),
     'size_units' => ['px'],
     'allowed_dimensions' => ['top', 'left'],
     'selectors' => [
        '{{WRAPPER}} .clock' => 'top:{{TOP}}%;right:{{RIGHT}}%;bottom:{{BOTTOM}}%;left: 
         {{LEFT}}%;',
     ],
  )
  )
 );
Run Code Online (Sandbox Code Playgroud)

当通过循环获取每个中继器的数据时,它将每个时钟指针的CSS位置应用到相同的位置。它将最后一个中继器项目的位置应用于所有元素。我需要唯一地标识每个中继器元素。

我看到有文章是这样说的

'{{WRAPPER}} .clock'.$item['_id'] => 'top:{{TOP}}%;right:{{RIGHT}}%;bottom:{{BOTTOM}}%;left:{{LEFT}}%;',

不幸的是,这对我来说也不起作用。

css wordpress repeater controller

1
推荐指数
1
解决办法
1036
查看次数

无法解析 .NET Core 中类型的服务

我收到此错误:

无法解析类型的服务

我正在 .NET Core 上使用工作单元存储库项目。我在另一层上有一个服务,但我更改为 TestServices,然后我创建了一个服务层,其中是FlightServiceIFlightService

程序

builder.Services.AddDbContext<DataContext>(options =>
    options.UseSqlServer(builder.Configuration
    .GetConnectionString("ConnectionString")));

builder.Services.AddControllers().AddJsonOptions(x =>
                x.JsonSerializerOptions.ReferenceHandler = ReferenceHandler.IgnoreCycles);

builder.Services.AddTransient<IUnitOfWork, UnitOfWork>();

builder.Services.AddScoped<IFlightRepository, FlightRepository>();

builder.Services.AddControllers();
Run Code Online (Sandbox Code Playgroud)

FlightController

[ApiController]
[Route("Api")]
public class FlightController : Controller
{
        private readonly ILogger<SearchFlightsController> _logger;        
        private readonly IUnitOfWork unitOfWork;
        public readonly IFlightService _flightService;

        public FlightController(ILogger<SearchFlightsController> logger,
            IUnitOfWork unitOfWork,
            IFlightService flightService)
        {
            _logger = logger;            
            this.unitOfWork = unitOfWork;
            _flightService = flightService;
        }

        [HttpGet("GetFlightById/{flightId}")]
        public async Task<IActionResult> GetFlightById(int flightId)
        {
            var details = await _flightService.GetFlightById(flightId);

            if (details …
Run Code Online (Sandbox Code Playgroud)

.net c# controller .net-core

1
推荐指数
1
解决办法
786
查看次数

System.Web.UI.Page不允许我从ASP.Net-MVC中的Controller访问CurrentUser或User.Identity

当我尝试

user = System.Web.UI.Page.CurrentUser
Run Code Online (Sandbox Code Playgroud)

要么

user = System.Web.UI.Page.User.Identity
Run Code Online (Sandbox Code Playgroud)

我收到一个错误,说没有为System.Web.UI.Page定义该方法

我试图在Controller中访问它,这有关系吗?

我检查过我没有另一个名为Page的类,为什么会说这个方法没有定义?

asp.net-mvc controller

0
推荐指数
1
解决办法
4706
查看次数

在Kohana 2.3.4中为所有控制器设置全局变量

是否有一些正确的方法可以让我的所有控制器都可以使用一些变量来MY_Controller.php在我的/application/libraries/文件夹中添加文件(在此处的文档中显示)?

我在Kohana 2.3.4工作,想知道是否有更好的方法,或者这是唯一推荐的方法?

作为OOP的新手,您可以将我链接到任何示例吗?

我听说正确的答案是将vars添加到你的$config[],试图获得更多细节.

php controller global-variables kohana

0
推荐指数
1
解决办法
4886
查看次数

Codeigniter仅加载默认控制器

我现在正在编写一些软件,并且第一次使用CI.

默认控制器设置为我想要操作的第一个控制器'login'(控制器是login.php,视图是login.php.当提交表单时,它调用'authenticate'控制器.执行正常,进程正确的登录数据然后在这种情况下的"新闻页面"中执行重定向命令(之前没有任何输出到屏幕)到下一页.问题是重定向,永远不会到达'newspage'但是默认控制器再次运行.

无论我放什么...... http://yourname.xyz/anything ...(是的,我使用.htaccess删除index.php)任何东西都不会被调用,只是默认的控制器.我已将标准的'welcome.php'控制器和'welcome_message.php'留在文件夹中,甚至将http://yourname.xyz/welcome放入登录界面!

redirect controller default codeigniter controllers

0
推荐指数
1
解决办法
3178
查看次数

解雇搜索显示控制器键盘

我正在使用搜索显示控制器和搜索栏.当我在serach栏内单击时,键盘出现.当我导航到另一个页面时,键盘不会消失并保持在同一页面中.你能帮我么 ?

谢谢,安迪.

iphone keyboard search controller

0
推荐指数
1
解决办法
1489
查看次数

使用Code Igniter控制器和视图创建foreach循环

这是我几次发现自己的情况,我只想一劳永逸地清理它.

最好只是为了向您展示我在一些示例代码中需要做的事情.

我的控制器

function my_controller()
{

$id = $this->uri->segment(3);

$this->db->from('cue_sheets');
$this->db->where('id', $id);
$data['get_cue_sheets'] = $this->db->get();

$this->db->from('clips');
$this->db->where('sheet_id', ' CUE SHEET ID GOES IN HERE ??? ');
$data['get_clips'] = $this->db->get();

$this->load->view('show_sheets_and_clips', $data);

}
Run Code Online (Sandbox Code Playgroud)

我的看法

<?php if($get_cue_sheets->result_array()) { ?>
    <?php foreach($get_cue_sheets->result_array() as $sheetRow): ?>
        <h1><?php echo $sheetRow['sheet_name']; ?></h1>
        <br/>
        <?php if($get_clips->result_array()) { ?>
            <ul>
                <?php foreach($get_clips->result_array() as $clipRow): ?>
                    <li><?php echo $clipRow['clip_name']; ?></li>
                <?php endforeach; ?>
            </ul>
        <?php } else { echo 'No Clips Found'; } ?>
    <?php endforeach; ?>
<?php } …
Run Code Online (Sandbox Code Playgroud)

php model-view-controller foreach controller codeigniter

0
推荐指数
1
解决办法
5万
查看次数

在MVC中运行任何Controller Action之前调用Session

我在Session_OnStart()调用中的global.asax文件中进行了此身份验证检查:

if (Session["Authenticated"] == null)
        {
            Response.Redirect("~/Login.aspx");
        }
Run Code Online (Sandbox Code Playgroud)

这种会话身份验证在我们所有的Web应用程序中紧密耦合,因此我必须以这种方式使用它.这个global.asax位于一个较旧的Webforms项目中,我的MVC项目就位于该项目中.因此我认为它允许我直接访问我的控制器操作,例如http:// localhost/controller/action,而不会填充会话身份验证,即它没有重定向.我已经将这段代码添加到EACH控制器操作中来解决这个问题,但有没有办法在全局(而不是在global.asax中)设置它,这样我只需要为所有控制器操作调用一次?谢谢.

asp.net-mvc session action controller global-asax

0
推荐指数
1
解决办法
3192
查看次数

在Kohana中使用自定义类3

嘿,我在Kohana 3中创建了一个使命召唤4服务器观察器,我之前创建了它的基本类:

  1. 静态Socket类(用于处理基本网络命令)
  2. Cod4Socket类(使用前面提到的Socket类),它为基本命令提供包装函数.

我想要的是能够在网站的控制器内使用所述类.

我应该把类文件放在哪里,我应该在哪里"包含"它们,以及如何使用它们?

编辑:我正在使用Kohana 3.

php model-view-controller controller kohana-3

0
推荐指数
1
解决办法
2600
查看次数