众所周知,Rails 框架建议通过所谓的 UJS 严格分离 JavaScript 和 Html,但是有时,我发现自己需要在我的视图中包含即兴的 JavaScript 片段。首先,我想知道这是否正确?还是被人嫌弃了?
我发现自己这样做的最常见情况是,例如,当我有一个像这样的条件块时:
= form_for @place do |f|
%h5 Address:
.input-prepend
%span{ :class => "add-on" }
%i{ :class => "icon-road" }
= f.text_field :address
%h5 Name:
.input-prepend
%span{ :class => "add-on" }
%i{ :class => "icon-pencil" }
= f.text_field :name
= f.hidden_field :latitude
= f.hidden_field :longitude
#post-button
%button{ :class => "btn btn-primary", :type => "submit" } Post it!
- unless logged_in?
:javascript
$('#post-button > button, .input-prepend input').addClass('disabled');
$('.input-prepend input').addClass('disabled');
$('.input-prepend input').attr('disabled', 'disabled');
new PopOver().setPopOver($('#post-button > button'), "You must be logged in to register your Business");
看看嵌套在除非条件中的代码,我想知道它是否可以放在那里,或者我应该以某种方式从控制器生成那部分代码?(并将它(渲染)传递给视图:在这种情况下,我不知道该怎么做......)
请让我知道您的想法,我需要知道最有经验的 Rails 开发人员将如何处理这些类型的情况,因此,如果您是其中之一,我很乐意阅读您的答案。
提前致谢!
PS。哦,如果可能的话,请让我看看有关如何解决此问题的代码选项,再次感谢!