Twitter Bootstrap Modal无法在Rails中运行
我还是相当新的Rails
和twitter bootstrap
。 我正在处理一个模态,但我收到一个“NoMethodError – undefined方法’渲染。’”
当我从my_release.js.erb
页面中删除(""
代码时,它会消失,但不会出现任何窗口。
还有错误,甚至不允许我的项目从初始索引页面加载,它引用我的views/layouts/application.html.erb
第6行,这是我的
所以我假设我的.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
true, 'data-toggle'=> "modal", 'data-target' => '#modal-window'} %>
项目/ _new_release.html.erb
Modal header
**here comes whatever you want to show!**
new_release.js.erb
$("#modal-window").html("");
编辑评论所以仍然没有弹出窗口….它没有消失。 这与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.erb”更改为“new_release.html.erb”。 我不知道为什么你在文件名之前使用下划线。
如果它是部分而不是使用:(“<%= escape_javascript(render(partial:=>‘project / new_release’))%>”