我有一个简单的帖子页面,用户可以在其中创建一个新帖子 - 表单是ajax(我正在使用turbolinks)。
我认为这是我的选择:
当ajax:success fires
在Rails控制器中,将新帖子作为json返回。然后在ajax:成功我需要以某种方式创建一个模板
例如:
$("<div id='new-post'>").html(ajaxResult)
code to append the div to my posts
答案 0 :(得分:1)
您可以选择将新发送为js并使用rails
将其添加到div模板的option2例如:
<强> _form.html.erb 强>
<%= form_for(@model), :html => {remote: true} do |f| %>
your input fields code here
<% end %>
<强>控制器。强>
def create
respond_to do |format|
if @model.save
format.js
else
render 'new'
end
end
<强> create.js.erb 强>
$("#get_input").html(<%= j ({render :partial => "create"})%>) **#get_input is your div id**
<强> _create.html.erb 强>
#write your template code here
答案 1 :(得分:0)
有很多方法可以做到:)
对于前。你不能发送json但是js请求
def some_action
respond_to do |format|
format.html
format.js
end
end
然后在你的/ views /../ some_action.js.erb
中$("<div id='new-post'>").html("<%=j({render here what you want}>")
或者你可以真正处理json。然后你需要使用类似https://github.com/netzpirat/haml_coffee_assets模板系统的smth,并根据你的JSON轻松创建js模板