Twitter Bootstrap Modal在Rails中不工作

Twitter Bootstrap Modal not working in Rails

本文关键字:工作 Rails Bootstrap Modal Twitter      更新时间:2023-09-26

我仍然是相当新的Railstwitter bootstrap。我正在模态上工作,但我收到一个"NoMethodError -未定义的方法"渲染。"

当我从my_release.js.erb页面删除("<%= escape_javascript(render 'project/new_release') %>"代码时,它淡出但没有窗口出现。

还有错误,它甚至不允许我的项目从初始索引页面加载,它引用了我的views/layouts/application.html.erb行#6,这是我的<%= javascript_include_tag "application" %>

所以我假设我的。js都出问题了

我一直在工作的例子,我看到下面的页面- https://coderwall.com/p/ej0mhg

我正试图将此模态示例添加到我的现有项目。

下面是我的一些代码片段供参考:

Gem文件:

gem 'rails', '3.2.13'
gem 'bootstrap-sass', '2.3.2.1'
....
....
group :assets do
gem 'sass-rails', '~> 3.2.3'
end
....
....

Application.js

....
//= require bootstrap-modal
//= require bootstrap
....

Routes.rb

get "project/new_release" => 'project#new_release', :as => :new_release

controller.rb

def new_release
respond_to do |format|
  format.html
  format.js
end
end
项目/index.html.erb

<div id="modal-window" class="modal hide fade" role="dialog"
aria-labelledby="myModalLabel" aria-hidden="true"></div>
<%= link_to 'Add release', new_release_path, {:remote => true,
'data-toggle'=> "modal", 'data-target' => '#modal-window'}  %>
项目/_new_release.html.erb

<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="myModalLabel">Modal header</h3>
</div>
<div class="modal-body">
**here comes whatever you want to show!**
</div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
<button class="btn btn-primary">Save changes</button>
</div>

new_release.js.erb

$("#modal-window").html("<%= escape_javascript(render 'project/new_release') %>");

编辑评论所以仍然没有弹出窗口....它消失了,然后什么都没有。这和class="modal hide fade"有关系吗?

看看那篇文章,上面写着

Now we need some javascript to make this works, make a file named same way as the controller action but with the suffix .js.erb for this example should be:

作者提到了文件名,但忘了告诉你js文件的路径。你的js文件路径将是views/controller_name/new_release.js。erb而不是assets/javascript/new_release.js.erb

如果你看看你的控制器方法

def new_release
  respond_to do |format|
    format.html  #If it's a html request this line tell rails to look for new_release.html.erb in your views directory
    format.js #If it's a js request this line tell rails to look for new_release.js.erb in your views directory
  end
end

详情付款 Working with Javascript in Rails

从"_new_release.html "更改视图文件名。动词" to "new_release.html。erb。"我不知道你为什么在文件名前加下划线。

如果是部分的,则使用:("& lt; % = escape_javascript(渲染(部分:=> '项目/new_release ')) %> "