Rails 3 嵌入式小部件:show.js.erb 似乎不起作用
Rails 3 embedded widget: show.js.erb doesn't appear to work
我有两个本地主机网络服务器正在运行(webrick);一个在端口3000(服务器),一个在3001(网页)。但这毫无意义,因为它似乎在服务器端被破坏了。
在"服务器"上,如果我转到"http://localhost:3000/projects/5.js",则不会加载任何内容。我得到一个白屏,"查看页面源代码"甚至不能作为选项使用。
我猜 document.write 是问题所在,但我无法对其进行故障排除,因为没有任何内容加载。也许我需要一条路线吗?在我的项目/节目行动中,我需要做一些不同的事情吗?
####The website embedded code:
<iframe src="http://localhost:3000/projects/5.js"></iframe>
####projects_controller.rb
def widget
@project = Project.find(params[:id])
end
def show
@project = Project.find(params[:id])
respond_to do |format|
format.html { render :layout => 'application_project' }
format.json { render json: @project }
end
end
####projects/show.js.erb
document.write("<%= escape_javascript(content_tag(:iframe, '', :src => widget_project_url(@project))).html_safe %>");
####projects/widget.html.erb
<div id="project-embed-widget">
<h3><%= link_to @project.name, @project %></h3>
<% if @project.funding? %>
<h4>
<% if @project.backers.nil? %>
0
<% else %>
<%= @project.backers.count %>
<% end %>
BACKERS</h4>
<% @project.calc_goal_collected %>
<h4><%= number_to_currency(@project.goal_collected, :unit => "$") %></h4>
<h4>PLEDGED OF <%= number_to_currency(@project.goal, :unit => "$") %> GOAL</h4>
<h4><%= @project.time_to_go[:time] %>
<%= @project.time_to_go[:unit].upcase %> TO GO</h4>
<br />
<%= render "funding_message" %>
<br />
<% else %>
<%= @project.about %>
<% end %>
</div>
####routes.rb
resources :projects do
member do
get 'widget'
end
end
嗯
,我注意到的一件事是你正在调用<iframe src="http://localhost:3000/projects/5.js"></iframe>
但js不是控制器中的响应格式之一。 将format.js
添加到respond_to块。
相关文章:
- Rails 3.2 js.erb文件转义js
- Js.erb VS按钮标记-不'不起作用.为什么?
- js.erb文件未呈现其内容
- 如何使用 Ruby 在 Javascript (js.erb) 中设置 url
- Rails:如何在jQuery(.js.erb)中调用“create”操作
- js erb 内的 Rails 会话为空
- 使用 HAML 的复杂 ERB 替换在 JS 中失败
- 在Rails中使用remote:true在Chrome中有效,但在Safari中无效——从js.erb文件调用succe
- js.erb文件中提供给RegExp构造函数的标志无效
- 如何在我的create.js.erb中重置/清除表单
- Rails js.erb文件未执行
- js.erb格式的控制器测试
- 使用控制器在conditional.js.erb文件中设置变量
- 我的 update.js.erb 文件仅在第一次单击按钮时运行,而不在后续单击时运行(单击时更改按钮的类和值)
- 在 Ajax 中创建 RoR 链接 在 .js.erb 文件中调用
- Rails 3 嵌入式小部件:show.js.erb 似乎不起作用
- js.erb 呈现到布局中,而不是执行
- Rails 4 是否允许在.JS视图中使用红宝石代码,在 rails 3 中,文件名中需要包含 .erb.js
- Ruby on Rails 路由前缀,而不是在 .erb.js 文件中进行预处理
- 如何响应AJAX调用没有erb.js /为什么使用erb.js