在学习了一些react-router和ember routing之后,我真的很感激嵌套ui的想法。
试图找出一种将部分推送到本地'中的div的好方法。 rails并且偶然发现了这种简单的编辑方式。
计划/ index.html.erb
<% @posts.each do |post| %>
<div id="content">
<a onclick="Turbolinks.visit('/posts/8/edit', {change: 'content'})" >Edit</a>
</div>
<% end %>
计划/ edit.html.erb
<div id="content">
<%= form_for @post do |form| %>
<%= form.text_field :name %>
<% end %>
</div>
由于两个文件都有id="content"
,因此它会正确地将edit.html.erb
内容放入索引文件中,同时保持页面状态的其余部分。
我喜欢这种感觉,比创建远程请求,添加控制器操作,创建新的js.erb文件,然后使用jquery强制进行dom更新要好得多。使用简单的html制作嵌套标签内容或主/详细页面等内容非常方便。
但是,根据上面的代码,我如何在Turbolinks.visit
电话中访问帖子ID?目前我只是将它硬编码为我知道存在的id,看看我是否可以把它拿起来工作。但现在我无法弄清楚如何将帖子ID放入嵌套字符串中。
答案 0 :(得分:0)
You could pass the post ID via string interpolation. Try the following code:
<% @posts.each do |post| %>
<div id="content">
<a onclick="Turbolinks.visit("/posts/#{post.id}/edit", {change: 'content'})" >Edit</a>
</div>
<% end %>