因此,正如我确信您都熟悉的那样,您可以在Rails中执行调用html.erb文件的操作。您还可以设置远程呈现调用嵌入式ruby文件的操作(例如,向"post“控制器提交”post“表单,远程处理它,并调用js.erb文件更新页面中的元素)。
我想知道的是,在运行加载模板的操作时,如何运行js.erb文件(html.erb文件)。若要解释,请考虑是否要运行用户显示页面:
class UsersController < ApplicationController
def show
@user = User.find(params[:id])
end
end
因此,我正在尝试让我的代码与Stripe的js示例相匹配:
var stripe = Stripe('pk_test_REST_OF_MY_KEY');
下面是我的.js.erb文件中的几行代码,它们调用了secrets.yml文件中的正确密钥。当它呈现时,我在浏览器控制台Uncaught ReferenceError: pk_test_REST_OF_MY_KEY is not defined中得到以下错误
var stripe = Stripe(
<% if Rails.env == 'production' %>
<
我正在开发一个rails应用程序(4.1.8),它在我的显示视图中需要大量的javascript,我需要一种方法来访问实际js文件中从ActiveRecord返回的数据
下面是一个例子:
我的显示控制器
def show
@user = User.find(params[:id])
end
现在,我需要在我的节目javascript中访问这些数据,但这是我能够做到的唯一方法:
我的显示视图
<%= javascript_tag do %>
var myEmail = "<%= j @user.email %>";
// do stuf
我正在使用rails 5.2.1内容安全策略DSL实现一个CSP。我的政策是:
Rails.application.config.content_security_policy do |policy|
policy.default_src :self, :https
policy.connect_src :self
#...
policy.script_src :self
end
# If you are using UJS then enable automatic nonce generation
Rails.application.config.content_sec
我有一个Rails应用程序,它在渲染js模板时表现得很奇怪。
这是我的更新操作(用于“消息”模型)。
@message = Message.find_by_id(params[:id])
if @message.update_attributes(params[:message])
respond_to do |format|
format.js
end
end
然后,在app/views/messages/update.js.erb中,我得到了这个。
$(".active-status").html("hello world");
我有触发更新
是否有可能在Rails 6应用程序中使用js.erb视图?我得到了 MyController#my_action is missing a template for this request format and variant.
request.formats: ["text/html"]
request.variant: [] 迁移到rails 6后使用js.erb视图的操作出错。 在我的操作中,我只是给实例变量赋值: def next_question
@lesson = lesson
end 在我拥有的路线中 put ':package_
好吧,我以为我知道我在做什么,结果却被互联网上大量相互冲突的资源搞得不知所措。
我有一个rails 3应用程序。我想把prototype从这个应用程序中完全拿出来,只使用jQuery。其中一些代码位于rjs文件中,但大部分位于项目控制器中的format.js{}方法中。
我找到了,这使得我看起来可以对任何给定的操作执行以下操作:
def action_name
#do stuff
respond_to do |format|
format.js
#format other types
end
end
然后将我想要执行的jquery代码放在