我正在实现一项允许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并在我的控制器中使用它。
答案 0 :(得分:1)
它应该在你的参数哈希中,在params [:merge_with]
无论您要从提交的表单访问哪个字段,它都会显示在您的参数哈希中,键值是表单上该输入字段的ID。
修改强>
根据您的代码,当您调用控制器的合并方法时,您的params [:id]值也将为nil,因为当实际需要时,您的URI将只是'admin / content / merge'是'admin / content / merge /:id'。
答案 1 :(得分:0)
由于合并文章表单位于编辑文章页面上,因此URI应该已经包含正在编辑的当前文章的ID。
所以你可以从像params[:id]