Ruby on rails 4 如何在.js.erb渲染文件中传递参数并获取
我正在开发Ruby on rails 4 如何在.js.erb渲染文件中传递参数并获取,ruby-on-rails-4,parameters,Ruby On Rails 4,Parameters,我正在开发rails4应用程序,其中我必须从controller渲染.js.erb文件 现在我必须将参数从controller传递到.js.erb文件,并将该参数用于该文件 控制器: if @user.user_settings == nil render "save_account_settings.js.erb", :locals => {:msg => "Your account settings saved successfully"} else
rails4应用程序
,其中我必须从controller渲染.js.erb文件
现在我必须将参数从controller传递到.js.erb文件,并将该参数用于该文件
控制器:
if @user.user_settings == nil
render "save_account_settings.js.erb", :locals => {:msg => "Your account settings saved successfully"}
else
render "save_account_settings.js.erb", :locals => {:msg => "Something goes wrong. Please try again."}
end
上面的代码来自控制器,我必须将参数传递到.js.erb文件并使用它
File: save_account_settings.js.erb
$('#saved_message').text('<%=params[:msg]%>');
文件:保存账户设置.js.erb
$(“#已保存的_消息”)。文本(“”);
但不是为我工作
我哪里错了。需要更改文件名或其他内容
谢谢将邮件设置为实例变量,就像在.html.erb视图中一样:
if @user.user_settings == nil
@msg = "Your account settings saved successfully"
else
@msg = "Something goes wrong. Please try again."
end
render "save_account_settings"
在您的js.erb视图中:
$('#saved_message').text('<%= @msg %>');
$('saved#u message')。文本('';
注意:
params
在控制器和视图中始终是请求的参数。当您使用:locals
将变量传递给视图进行渲染时,它们将在视图中作为局部变量可用,即仅msg
而不是参数[:msg]
。后者将尝试从请求中获取msg参数,即?msg=查询中的值Perfect。谢谢你,伙计。