我正在考虑为我们的客户创建一个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中拆分这些变量?
如果不是,有人能推荐更好的方法吗?