小编Rya*_*ith的帖子

Rails资产管道中的动态CSS,即时编译

我正在Rails 3.2中构建一个站点.自从我触及Rails或Ruby以来已经有3年了,所以我两个都生锈了,再加上我最后一次使用rails就是Rails 2.3.不用说,请原谅下面的任何"简单"问题.

这是规格

  • 多Tennant CMS /商店网站
  • 每个"商店"(也称为子域)可以通过CSS自定义具有自己的外观,感觉等
    • 自定义可在该应用允许用户内的UI来执行改变自举的基本变量(即@textColor,@bodyBackground等)
  • 我正在将less-rails-bootstrap宝石用于Twitter Bootstrap的外观/感觉等.

以下是挑战

  1. 我需要能够将CSS的变量动态输出到一个混合到Bootstrap的文件中,以便拾取变量以创建最终的CSS
  2. 当用户更改CSS的变量时,现有样式基本上无效.我需要重新编译完整的CSS并将其写回磁盘,内存流或其他一些我可以抓住它的位置(请记住这是使用的less)
  3. 我需要不同的CSS来吐出每个子域.有关如何处理此问题的任何建议?

使问题进一步复杂化......

...鉴于我基本上必须找到一些方法来动态编译CSS,这意味着我必须包含我通常不会在生产环境中使用的GEMS.表现非常重要.有没有办法隔离这个?一旦CSS被无效并重新生成,我就可以获取内容并将其写入磁盘或存储在某些memcached/redis/etc中.表现的实例.

任何评论,即使只是指向一般方向,我们将不胜感激.

谢谢!

ruby ruby-on-rails less asset-pipeline ruby-on-rails-3.2

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

模型需要注入依赖项时的模型(ViewModel)绑定

我正在使用Ninject在ASP.Net MVC应用程序中进行依赖注入(这是我的第一个使用Ninject或DI的项目).

我选择使用Model-View-ViewModel模式.视图模型将提供我将绑定到实际视图的所有属性,但也需要访问数据库以获取诸如数据列表之类的内容.例如:

public class CreateGetIncidentViewModel
{

    private IDBContext _dbContext = null;

    [Required]
    public EmployeeType EmployeeType { get; set; }


    [Required]
    [StringLength(50)]
    public string Department { get; set; }

    /
    public IEnumerable<SelectListItem> GetEmployeeTypeSelectList()
    {
        // Simplified for brevity
        var employeeTypes = _dbContext.EmployeTypes.Where().... // Go select the employee types

        var employeeTypeSelectList = new List<SelectListItem>();

        foreach(var employeeType in employeeTypes){
            employeeTypeSelectList.Add(new SelectListItem(){
                // Set select list properties
            });
        }           

        return employeeTypeSelectList;
    }
}
Run Code Online (Sandbox Code Playgroud)

我的问题是:

  • IDBContext是Ninject中的注册依赖项.通过实例化直接访问具体类型将是禁忌.
  • 我必须以某种方式将依赖注入到此类中,或以某种方式通过已经解析了依赖关系的其他类来访问依赖项.

鉴于我的ViewModel经常通过模型绑定由ASP.Net MVC自动补充,我如何将我的依赖项放入我的ViewModel?

我经历过多种方式,但它们看起来都很脏.我可以(但不想)

  • 实现服务定位器模式只是简单地从ViewModel中解析我的IDBContext依赖项.
  • 解析我的控制器中的IDBContext,并在手动构建ViewMode时将其传递给我的ViewModel即 new CreateGetIncidentViewModel(dbContext); …

asp.net-mvc dependency-injection ninject mvvm

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

将引用的参数传递给shell脚本并保持引用

我正在尝试重新使用发送到我脚本的参数作为我脚本中执行的命令的参数.请参阅下面的示例,我执行mailx.

庆典

$./myscript.sh "My quoted Argument"
Run Code Online (Sandbox Code Playgroud)

myscript.sh

mailx -s $1
Run Code Online (Sandbox Code Playgroud)

这最终被执行为:mailx -s My Quoted Argument.


  • 我试过了"$1",但我的报价被扔掉了.(不正确的陈述,请阅读下面的答案)
  • 我试过""$1""但是我的报价被扔掉了.
  • 我试着这样做,'$1'但这是强烈的引用,所以1美元永远不会得到解释.
  • 我意识到我能做到$@,但这给了我每一个参数.
  • ....你得到了照片

任何帮助,将不胜感激!

linux bash shell

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

可重用类库内部的依赖注入(DI)

我有一组项目,这些项目提供运行.Net服务所需的所有功能。该项目通过Ninject使用了依赖注入。

我的(简化)解决方案如下所示:

Project 1: Windows Service (Composition Root)
^
Project 2: Server Engine & Heavy Lifting (Ninject Module)
^
Project 3: Persistence / DAL (Ninject Module)
^ 
Project 4: Interfaces & Basic / Shared functionality (Interfaces)
Run Code Online (Sandbox Code Playgroud)

经过一些重大的开发,事实证明,我将需要创建一个用于与Windows Service通信的新的“客户端”库项目。此客户端变成一个新的项目(Project 5),并取决于功能Project 3Project 4。即:

Project 5: Client (Class Library)
^
Project 3: Persistence / DAL (Ninject Module)
^ 
Project 4: Interfaces & Basic / Shared functionality (Interfaces)
Run Code Online (Sandbox Code Playgroud)

3眼前的问题:

  1. 我不想把连接对象图的责任放在客户端的使用者身上。使用者应该像使用其他任何库一样使用它。您不必担心库的内部结构使其正常工作。
  2. 客户端是一个类库,没有自己的入口点来考虑我的合成根并建立对象图。
  3. 即使我在客户端中确实有一个入口点,我的阅读也表明我不应该对DI框架具有库依赖性:“在这种情况下(创建可重用的库),通常应该使您的库在没有DI容器的情况下工作。您自己不应该依赖于这样的容器,因为这会将容器拖入”(从中 …

.net c# dependencies dependency-injection ninject

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

Request.IsAuthenticated总是如此.我错过了吗?

我正在尝试向cookie添加用户名并在注销时清除它但Request.IsAuthenticated返回总是为true所以我无法在下一页知道它是否是成员.

这是我正在尝试的:

 public void Logout()
    {
        FormsAuthentication.SignOut();
        Session.Abandon(); // trying everything...
    }



protected void signin_submit_Click(object sender, EventArgs e)
    {
        //checklogins...
        HttpCookie authCookie = FormsAuthentication.GetAuthCookie(username_top.Text, true);
    }
Run Code Online (Sandbox Code Playgroud)

我点击了javascript函数的Logout,它点击了调试器,所以我确信它被调用了.

我正在检查以下值Page_Load:

protected void Page_Load(object sender, EventArgs e)
    {
        bool isAuth = Request.IsAuthenticated; // always true !!!
        if (isAuth)
        {
            registeredDiv.Visible = true;
            guestDiv.Visible = false;
        }
    }
Run Code Online (Sandbox Code Playgroud)

我错过了什么?如何知道用户是否已登录?

编辑:我发现authenticationMode在web.config中设置为Windows.

编辑为:

<authentication mode="Forms">
Run Code Online (Sandbox Code Playgroud)

但现在它总是返回错误.我在登录到同一页面后尝试重定向但仍然无法正常工作.有任何想法吗?

asp.net authentication

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

JavaScript将文本粘贴到具有删除格式的contenteditable

我想将文字粘贴到:

<div class="text" contenteditable="true"></div>
Run Code Online (Sandbox Code Playgroud)

然后粘贴后,我需要该文本将具有已删除的文本格式,但要保留新行。

我有这样的文字:

$(".text").bind({
    paste: function () {
        setTimeout(function () {
            var text = $(".text").text();
            $('.text').text(text);
        }, 100);
    }
});
Run Code Online (Sandbox Code Playgroud)

但这不是添加新行;

html javascript jquery

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