【发布时间】:2014-09-16 08:09:00
【问题描述】:
Rails 和 twitter bootstrap 我还是个新手。我正在研究一个模态,但我收到 "NoMethodError - undefined method 'render.'"
当我从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
我正在尝试将此模式示例添加到我的现有项目中。
以下是我的代码的一些 sn-ps 供参考:
宝石文件:
gem 'rails', '3.2.13'
gem 'bootstrap-sass', '2.3.2.1'
....
....
group :assets do
gem 'sass-rails', '~> 3.2.3'
end
....
....
应用程序.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" 有关系吗?
【问题讨论】:
-
您能发布完整的错误和日志吗?
-
您的 new_release.js.erb 文件也在资产目录或视图中吗?您无法从资产目录访问渲染
-
为什么要通过 ajax 添加模态内容?这是一个模态,所以它会被隐藏,而且在这里也很难调试。如果您使用相关代码提出单独的问题会更好
标签: javascript ruby-on-rails twitter-bootstrap modal-dialog