标签: helper

如何使用块创建帮助程序?

我想做一个像下面这样的帮手.

def my_div some_options, &block
  # How do I print the result of the block?
end

ruby ruby-on-rails helper

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

如何在模型轨道中访问辅助"current_user"?

我需要在我的User模型中调用current_user(在ApplicationControler中定义,就像帮助器一样).

我测试ApplicationController.helpers.curret_user但不起作用:

irb(main):217:0> ApplicationController.helpers.current_user
NoMethodError: undefined method `current_user' for nil:NilClass
Run Code Online (Sandbox Code Playgroud)

但这种方法在控制器和视图中工作正常......

那么如何让我当前的用户进入模型?

controller model helper ruby-on-rails-4

9
推荐指数
3
解决办法
1万
查看次数

C++ 14使用is_same :: value的别名

这个问题用了is_same<uint64_t, decltype(val)>::value.

我希望那里是一个C++ 14 using alias:is_same_v类似于助手类型:conditional_t,enable_if_t,和tuple_element_t我在用我的答案.因为我唯一能使用这些功能的是获得type.所以*_t助手才有意义.

这让我想到了我的问题,为什么using alias is_same_vC++ 14中没有?我唯一使用is_same的是它value.也许is_same通常不用于模板声明?

c++ templates helper c++14 c++17

9
推荐指数
2
解决办法
2538
查看次数

当前Gradle版本6.7不兼容

我有这个问题:当前的 Gradle 版本 6.7 与 Kotlin Gradle 插件不兼容。请使用 Gradle 6.7.1 或更高版本,或者以前版本的 Kotlin 插件。 在此输入图像描述

javascript helper issue-tracking flutter asp.net-core

9
推荐指数
2
解决办法
9340
查看次数

为什么C#(或.NET)不允许我们在接口中放置静态/共享方法?

为什么C#(或.NET)不允许我们在接口中放置静态/共享方法?

看似从这里重复.但我的想法有点不同,我只是想为我的插件(接口)添加一个帮助器

不应该C#至少允许这个想法吗?

namespace MycComponent
{

    public interface ITaskPlugin : ITaskInfo
    {
        string Description { get; }
        string MenuTree { get; }
        string MenuCaption { get; }

        void ShowTask(Form parentForm);
        void ShowTask(Form parentForm, Dictionary<string, object> pkColumns);

        ShowTaskNewDelegate ShowTaskNew { set; get; }
        ShowTaskOpenDelegate ShowTaskOpen { set; get; }        

        // would not compile with this:
        public static Dictionary<string, ITaskPlugin> GetPlugins(string directory)
        {

            var l = new Dictionary<string, ITaskPlugin>();

            foreach (string file in Directory.GetFiles(directory))
            {
                var fileInfo = new FileInfo(file); …
Run Code Online (Sandbox Code Playgroud)

c# interface helper design-rationale

8
推荐指数
2
解决办法
2672
查看次数

有没有帮助知道Hibernate是否已经加载了一个属性?

我需要一个帮助器来知道是否已经加载了属性作为避免的方法LazyInitializationException.可能吗?

@Entity
public class Parent {
    @OneToMany
    private List<Child> childList;
}

@Entity
public class Child {

}

"select distinct p from Parent p left join fetch p.childList";

// Answer goes here
// I want to avoid LazyInitializationException
SomeHelper.isLoaded(p.getChildList());
Run Code Online (Sandbox Code Playgroud)

java hibernate lazy-loading helper

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

如何在生产中访问此辅助函数?

我正在使用private_pub将订阅客户端的通知推送给我的用户.在我的application.html.haml中,我有:

...
= javascript_include_tag 'application'
= subscribe_to "/#{@user.access_token}/notifications"
...
Run Code Online (Sandbox Code Playgroud)

subscribe_to帮助程序在开发中工作正常.部署到生产时,会记录以下错误:

ActionView::Template::Error (undefined method `subscribe_to' for #<#<Class:0x00000001f372e8>:0x00000001fded90>):
    5:     = stylesheet_link_tag 'application', :media => 'all'
    6:     = include_gon(:init => true)
    7:     = javascript_include_tag 'application'
    8:     = subscribe_to "/#{@user.access_token}/notifications"
    9:     = csrf_meta_tags
    10: 
    11:   %body
  app/views/layouts/application.html.haml:8:in `_app_views_layouts_application_html_haml__1867651381877570337_14592040'
Run Code Online (Sandbox Code Playgroud)

如何在生产环境中访问此帮助程序方法?

ruby-on-rails helper ruby-on-rails-3

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

刷新助手位置

我正在使用jquery sortable来跨多个容器对元素进行排序.

我将帮助选项设置为'clone',就像这样

$("#sup").sortable({
   helper: "clone"
});
Run Code Online (Sandbox Code Playgroud)

所以这里发生的是当一个元素开始拖动时,jQuery会创建一个副本并将它附加到正文,这将成为实际被拖动的元素(帮助者),而不是原始元素.

拖动开始时,我的助手可能会改变位置.然而,jQuery认为帮助器就是它所放置的位置,即使我使用margin更改了它的位置,当将元素放入容器中时,帮助器实际上并没有超过它(因为我改变了辅助位置).

问题:如何让jQuery在更改后重新计算帮助程序的位置?

$("#sup").sortable({
   helper: "clone",
   start: function(event, ui) {
       var marginsToSet = ui.item.data().sortableItem.margins;

       // helper position changed
       ui.helper.css('margin-left', marginsToSet.left);
       ui.helper.css('margin-top', marginsToSet.top);
   }
});
Run Code Online (Sandbox Code Playgroud)

示例:http://codepen.io/anon/pen/qZaNJZ您可以看到占位符突出显示将转到下一个容器,即使它没有完全悬停它.因为块位置不是jquery设置的.

jquery jquery-ui helper jquery-ui-sortable

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

如何在Rails模块中定义辅助方法?

我正在使用Rails 4.2.4.如何在模块中定义辅助(私有)方法?我有这个模块

module WebpageHelper

  def get_url(url)
    content = get_content(url)
    ..
  end

  def get_content(url)
    …
  end

  module_function :get_url

end
Run Code Online (Sandbox Code Playgroud)

我不希望方法"get_content"可以公开访问,但是使用上面的代码我得到了错误

Error during processing: undefined method `get_content' for WebpageHelper:Module
Run Code Online (Sandbox Code Playgroud)

如何在我的模块中正确定义私有帮助器方法?

methods module helper ruby-on-rails-4

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

如何在nest.js中定义辅助函数和常量?

我正在学习 Nest.js 并使用它创建一个 api。然而,我陷入了问题之一,即定义常量和辅助函数。

与所有 API 一样,我有一些具有分页功能的 API,我想在全局级别为所有模块定义默认页面大小。然而,此时我很困惑应该走什么路。对于配置,我创建了一个AppConfigModule提供 4 个环境变量的配置:

在此输入图像描述

// app-config.service.ts

import { Injectable } from '@nestjs/common'
import { ConfigService } from '@nestjs/config'

@Injectable()
export class AppConfigService {
  constructor(private configService: ConfigService) {}

  get DB_HOST(): string {
    return this.configService.get<string>('DATABASE_HOST')
  }

  get DB_PORT(): string {
    return this.configService.get<string>('DATABASE_PORT')
  }

  get DB_NAME(): string {
    return this.configService.get<string>('DATABASE_NAME')
  }

  get DB_MONGO(): string {
    return `mongodb://${this.DB_HOST}:${this.DB_PORT}/${this.DB_NAME}`
  }
}

Run Code Online (Sandbox Code Playgroud)

现在,当我必须使用不依赖于环境的常量(例如 DEFAULT_PAGE_SIZE)时,我应该在哪里定义它?

  1. AppConfigService和with在同一个班级static readonly DEFAULT_PAGE_SIZE = 10
  2. 创建一个提供公共变量的新服务AppConstantsService并将该服务注入到我们需要使用它的构造函数中?
  3. 在一些帮助程序类中创建一个 app-constats.ts 文件,其中包含以下详细信息:export …

dependency-injection helper node.js typescript nestjs

8
推荐指数
1
解决办法
2万
查看次数