小编Jim*_*Jim的帖子

在ruby HAML中指定过滤器的选项

有没有办法向HAML过滤器添加选项(HTML属性)?

我想做这样的事情:

:javascript{:'data-turbolinks-eval' => 'false', :foo => 'bar'}
  if(someCondition){
    doSomething();
  }
Run Code Online (Sandbox Code Playgroud)

结果将是:

<script 'data-turbolinks-eval'='false' 'foo'='bar'>
  if(someCondition){
    doSomething();
  }
</script>
Run Code Online (Sandbox Code Playgroud)

我能得到的最接近的是:

%script{:'data-turbolinks-eval' => 'false', :foo => 'bar'}
  if(someCondition){
  doSomething();
  }
Run Code Online (Sandbox Code Playgroud)

缺点是你不能在HAML中缩进你的JS,除非你使用:javascript过滤器.它可以用几行,但它很快就会变得混乱.

我很清楚,在大多数情况下,如果你最终在HAML模板中使用复杂的脚本,这意味着你做错了什么,而这不是我正在寻找的答案.

javascript ruby haml indentation filter

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

Heroku:在本地文件系统中使用外部安装

我知道可以使用Fuse(s3fs [或s3fsr ruby​​ gem?])安装Amazon S3存储桶。

我的案件是特定于Heroku的。

Heroku的文件系统对于可伸缩性等是只读的,但是有没有办法在Heroku的文件系统中挂载amazon s3?

就我而言,我在Heroku上使用Redmine,并希望使用Redmine的内置git存储库管理将代码审阅链接到我的问题。Redmine需要将存储库克隆到本地目录,这是可能的,但在Heroku上不是持久的。

我希望Redmine在已安装的S3存储桶上维护一个git存储库。这可能吗?如果有可能,那将有多慢?还有其他替代方法可以做到这一点吗?

git heroku amazon-s3 redmine s3fs

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

将变量传递给Ember.js中的把手部分

我想做的应该是相当简单的.我想将变量传递给partials以获得可重用性.

我想做这样的事情:

<form {{action login content on="submit"}}>
  <fieldset>
    {{partial 'components/field-email' label="Email" fieldname="email" size="full"}}
    [...]
  </fieldset>
</form>
Run Code Online (Sandbox Code Playgroud)

而不是这样做:

<form {{action login content on="submit"}}>
  <fieldset>
    <div {{bind-attr class=":field :email size"}}>
      <label {{bind-attr for=fieldname}}>{{label}}</label>
      {{input type="email" id=fieldname name=fieldname valueBinding="email" placeholder=label}}
    </div>
    [...]
  </fieldset>
</form>
Run Code Online (Sandbox Code Playgroud)

来自Rails,我希望这只是工作,但似乎我不能(不知道如何)将变量传递给部分.我查看了"包含模板部分"的所有方法:

  • 局部
  • 视图
  • 给予

对我有用的是使用View.但我认为这太过分了.我只想要单独的子模板,以实现可重用性和可读性,不需要更改上下文或指定所需的控制器.

编辑:

我也尝试将此部分用作组件:

{{field-email type="email" id="email" name="email" valueBinding="email" placeholder=label size="full"}}
Run Code Online (Sandbox Code Playgroud)

哪个适用于除valueBinding之外的所有内容.

我想还值得一提的是我有一个路由设置,其中一个动作调用我的AuthController登录:

App.LoginRoute = Ember.Route.extend
  model: -> Ember.Object.create()
  setupController: (controller, model) ->
    controller.set 'content', model
    controller.set "errorMsg", ""
  actions:
    login: ->
      log.info "Logging in..."
      @controllerFor("auth").login …
Run Code Online (Sandbox Code Playgroud)

variables templates partials handlebars.js ember.js

5
推荐指数
2
解决办法
7326
查看次数