抓取正确的文章ID以在Publify中合并文章

时间:2012-11-18 23:37:58

标签: ruby-on-rails ruby publify

我正在实现一项允许Publify合并两篇文章的功能。在管理页面上,我创建了以下表单(我不确定这对于我正在追求的内容是否正确),最终应该允许用户输入另一篇文章的ID并将其与正在查看的当前文章合并(注释应该保留但应该只有一位作者)。

此表单只能由管理员查看,但我还没有实现此逻辑。

<%= form_tag({:controller => "admin/content", :action => "merge"}, :method => "put", :class => 'article') do %>
  <%= label_tag(:merge_with, "Article ID") %>
  <%= text_field_tag(:merge_with) %>
  <%= submit_tag("Merge") %>
<% end %>

我还在admin / content_controller.rb

中创建了以下方法
def merge
  @current_article = Article.find(params[:id])
  #(this variable should grab the article ID from the form) @input_article =
  @merged_article = @current_article + @input_article
  return @merged_article  
end

这个问题是我不知道如何获取从表单中输入的文章ID并在我的控制器中使用它。

2 个答案:

答案 0 :(得分:1)

它应该在你的参数哈希中,在params [:merge_with]

无论您要从提交的表单访问哪个字段,它都会显示在您的参数哈希中,键值是表单上该输入字段的ID。

修改

根据您的代码,当您调用控制器的合并方法时,您的params [:id]值也将为nil,因为当实际需要时,您的URI将只是'admin / content / merge'是'admin / content / merge /:id'。

答案 1 :(得分:0)

由于合并文章表单位于编辑文章页面上,因此URI应该已经包含正在编辑的当前文章的ID。

所以你可以从像params[:id]

这样的params哈希中获取它