有没有办法向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模板中使用复杂的脚本,这意味着你做错了什么,而这不是我正在寻找的答案.
我知道可以使用Fuse(s3fs [或s3fsr ruby gem?])安装Amazon S3存储桶。
我的案件是特定于Heroku的。
Heroku的文件系统对于可伸缩性等是只读的,但是有没有办法在Heroku的文件系统中挂载amazon s3?
就我而言,我在Heroku上使用Redmine,并希望使用Redmine的内置git存储库管理将代码审阅链接到我的问题。Redmine需要将存储库克隆到本地目录,这是可能的,但在Heroku上不是持久的。
我希望Redmine在已安装的S3存储桶上维护一个git存储库。这可能吗?如果有可能,那将有多慢?还有其他替代方法可以做到这一点吗?
我想做的应该是相当简单的.我想将变量传递给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)