ruby-on-rails – 使用Ruby on Rails在JSON Feed中渲染动态变量
发布时间:2020-12-17 02:14:17 所属栏目:百科 来源:网络整理
导读:我只是在为客户创建一个API来与我们的主Rails 3应用程序进行交互. 对于一部分,我希望json响应包含一些表单.基本上我们控制并在其网站上显示的一些表单代码. 我有这个工作正常(简化): def login_form @response = Form.find_by_something(params[:something_
我只是在为客户创建一个API来与我们的主Rails 3应用程序进行交互.
对于一部分,我希望json响应包含一些表单.基本上我们控制并在其网站上显示的一些表单代码. 我有这个工作正常(简化): def login_form @response = Form.find_by_something(params[:something_else]) if @response render :status=>200,:json=>{:response => @response} end end 在客户端,我可以获取: @logins = HTTParty.get("#{set_auth_url}/api/v1/logins.json?auth_token=xyz&something_else=abc").parsed_response 并显示表格 = @logins["response"].html_safe 问题是,表单代码有一些动态变量: 例如: <div class="login"> <FORM name="form1" METHOD="get" action="<%= request.path %>?"> <INPUT TYPE="HIDDEN" NAME="chal" VALUE="<%= params['challenge'] %>"> <% if @current_location['success_url'] %> <INPUT TYPE="HIDDEN" NAME="userurl" VALUE="/success"> <% end %> <input type="hidden" name="UserName" placeholder="Username" value="<%= @user['username']['username'] %>"> <input type="submit" name="login" value="Login" class="btn"> </div> 我想知道这是不是一个好主意?如果是这样,我怎样才能在html中打破这些变量? 如果不是,那么有人可以推荐一种更好的方法来实现它. 解决方法
为什么不在Jquery模板或Mustache或Handlebar中使用Javascript模板
所以请将表单保留在客户端,如下所示 我将在这里使用Mustache来描述它 ... <script id="template" type="text/template"> <div class="login"> <FORM name="form1" METHOD="get" action={{request_path}}> <INPUT TYPE="HIDDEN" NAME="chal" VALUE={{challenges}}> {{boolean_value}} <INPUT TYPE="HIDDEN" NAME="userurl" VALUE="/success"> {{/boolean_value}} <input type="hidden" name="UserName" placeholder="Username" value={{user_name}}> <input type="submit" name="login" value="Login" class="btn"> </div> </script> </html> 下一部分是以ajax的形式获得响应 使用任何Javascript框架我想它可以实现我在这里使用jQuery <script type="text/javascript"> $(document).ready(function() { $.ajax({ // make ajax call over here success: function(data) { // JSON DATA var template = $('script#template').html(); $([container where html is place]).html(Mustache.to_html(template,data)); } }) }) 希望这个帮助 不确定你想要什么样的form_tag的简单Form html标签intead,因为它不包含真实性令牌 希望这有帮助 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |