Ruby on rails Vestal_版本:列出rails应用程序中编辑的所有版本
我正在rails应用程序中使用vestal_版本。我想知道如何显示以前版本的编辑链接,以及上面条目中的内容。我的html.erb代码是Ruby on rails Vestal_版本:列出rails应用程序中编辑的所有版本,ruby-on-rails,version,Ruby On Rails,Version,我正在rails应用程序中使用vestal_版本。我想知道如何显示以前版本的编辑链接,以及上面条目中的内容。我的html.erb代码是 <tbody> <% @page.versions.each do |page| %> <tr class="odd"> <td><input t
<tbody>
<% @page.versions.each do |page| %>
<tr class="odd">
<td><input type="checkbox" /></td>
<td> </td>
<td><%= page.created_at%></td>
<td>
<% if params[:version] %>
<%= link_to "Previous Version", :version => @page.version-1 %>
<%end%>
</td>
</tr>
</div>
<% end %>
@page.version-1%>
在控制器中我有@page。如果参数[:version]
我已经附加了一个链接到截图。如果仔细观察。所有条目的?版本=5。我想要所有的版本都是1,2,3,4和5。我该怎么做
更新:图像在评论中被超链接。目前不允许添加图像。使用
页面
而不是@page
<%= link_to "Previous Version", :version => page %>
<% @page.versions.each do |version| %>
<tr class="odd">
<td><input type="checkbox" /></td>
<td> </td>
<td><%= version.created_at%></td>
<td>
<%= link_to "Show Version", :version => version %>
</td>
</tr>
<% end %>
此方法仅显示版本。实际上,恢复版本应该通过POST完成,因为您正在对数据库进行更改
还原会否定更改,但不会放弃更改。如果页面
处于版本4,而您恢复到版本2,则不会删除版本3和版本4。版本号将恢复为2,但将作为版本本身计算
#还原到
执行还原但不保存。要还原和保存,请使用#还原到代码>
要正确使用,请还原到代码>,您需要将其放入控制器操作中
例如,在您的页面中
控制器:
def revert
@page = Page.find params[:id]
if @page.revert_to!(params[:version_id]) # <= revert_to!
redirect_to @page
else
render :text => "Did not revert"
end
end
那么在你看来,
<% @page.versions.each do |version| %>
<tr class="odd">
<td><input type="checkbox" /></td>
<td> </td>
<td><%= version.created_at %></td>
<td>
<%= link_to "Show Version", :version => version %>
</td>
<td>
<%= button_to "Revert to this version", revert_page_path(@page, version.id) %>
</td>
</tr>
<% end %>
版本%>
Its为#
错误提供了一个未定义的方法“版本”。另外,如何保存撤消或恢复?因为当我转到/pages/2时,更改没有很好的效果,只有:version=>page
就解决了这个问题。虽然我可能需要对显示的第一个编辑进行修改。因为,这是不必要的,也可能不是。我看看。但是现在我如何保存版本编辑?你能帮我回答这个问题吗?好的,我理解。但是,如何恢复更改并保存它们呢。我认为这是一种完全不同的方法。你也能帮我吗?非常感谢。再次修改答案。。。这是#还原到代码>
<% @page.versions.each do |version| %>
<tr class="odd">
<td><input type="checkbox" /></td>
<td> </td>
<td><%= version.created_at %></td>
<td>
<%= link_to "Show Version", :version => version %>
</td>
<td>
<%= button_to "Revert to this version", revert_page_path(@page, version.id) %>
</td>
</tr>
<% end %>