gpt4 book ai didi

javascript - Twitter Bootstrap Modal 在 Rails 中不起作用

转载 作者:行者123 更新时间:2023-11-29 15:37:54 25 4
gpt4 key购买 nike

我还很新Railstwitter bootstrap .我正在处理模态,但我收到了 "NoMethodError - undefined method 'render.'"

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

还有错误,它甚至不允许我的项目从初始索引页面加载,它引用了我的 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
....
....

应用程序.js

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

路线.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" 有关? ?

最佳答案

刚刚读了那篇文章,它说

现在我们需要一些 javascript 来让它工作,创建一个与 Controller Action 命名相同但后缀为 .js.erb 的文件,对于这个例子应该是:

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

如果你看看你的 Controller 方法

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

关于javascript - Twitter Bootstrap Modal 在 Rails 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24939320/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com