如果用户未完全注册以显示模态,我想在我的主页中使用js文件。
为此,我写道:
e.g. if df.x >0:
print("your count is more than zero for column x ")
` 并进入我的confirmation.js.erb:
class PagesController < ApplicationController
before_action :info_table, only: [:home]
def home
end
private
def info_table
respond_to do |format|
if current_user.name.nil?
format.html { render "home" }
format.js { render "pages/js/confirmation" }
else
format.html { render "home" }
format.js { render "pages/js/confirmation" }
end
end
end
end
但没有出现! 你知道我做错了什么吗?
答案 0 :(得分:2)
你正在渲染html&amp;两种条件下的js格式
if current_user.name.nil?
format.html { render "home" }
format.js { render "pages/js/confirmation" }
else
format.html { render "home" }
format.js { render "pages/js/confirmation" }
end
但只有一种格式会实际渲染,这取决于对该操作的请求,如果你想渲染js格式,你可能想要做这样的事情
link_to 'Home' home_path, remote: true
或者
if current_user.name.nil?
format.js { render "pages/js/confirmation" }
else
format.html { render "home" }
end
答案 1 :(得分:1)
您需要一些JS代码来调用您的home方法并将其标记为 JS 。
否则它只会呈现 html 块
@Sikandar Tariq建议的JS链接是一个好方法。 (, remote: true
使其成为ajax调用)