【发布时间】:2014-11-13 12:12:13
【问题描述】:
我安装了一个 gem:http://toopay.github.io/bootstrap-markdown/
这个库应该把一个 textarea 元素变成一个风格化的 mardown 编辑器。
为此,我使用了以下代码:
<div class="well col-md-10 col-md-offset-1">
<%= form_for(:post, :url => {:action => 'create'}) do |f| %>
<%= f.text_field(:title, class: 'form-control')%>
<%= f.text_field(:description, class: 'form-control')%>
<%= f.text_area(:content, rows: 15, "data-provide" => "markdown")%>
<%= f.button "Submit", type: 'submit', class: 'btn col-md-4 col-md-offset-4 btn-large btn-success'%>
<% end %>
</div>
最初我将这段代码放在我的根页面上,它运行良好。 然后我创建了一个新控制器并将其移动到不同的视图。我通过在浏览器中手动输入 url 来访问该视图:localhost:3000/controller/view 并且页面加载完美。
这里的结果:
但是,当我通过不同页面上的链接访问该页面时,表单没有被样式化。
结果:
奇怪的是,如果我重新加载页面,它会应用所有更改。
我做了一个临时的丑陋黑客,每次访问都会重新加载页面:
$(document).ready(function(){
//Check if the current URL contains '#'
if(document.URL.indexOf("#")==-1){
// Set the URL to whatever it was plus "#".
url = document.URL+"#";
location = "#";
//Reload the page
location.reload(true);
}
});
但是对于发生的事情必须有一个体面的解释。
我浏览了库本身并添加了一些 console.log 语句。 似乎该库已在主页上加载并初始化,但是当我单击该链接时,它不再运行任何东西。
我真的很难理解这是 Rails 问题还是库问题。
【问题讨论】:
-
按 F5 会发生什么?该网站是否正确显示?这是rails开发模式下的一个bug,...
-
是的,如果我按 F5,它会正确显示!我已经在这上面花费了超过 2 天。
标签: ruby-on-rails gem javascript rails-routing