我正在实现一个允许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 er.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,并在我的控制器中使用它。
发布于 2012-11-19 14:07:40
它应该在您的params散列中,地址为params:merge_with
无论您想从提交的表单中访问什么字段,它都会出现在params散列中,键值是表单上该输入字段的id。
编辑:
根据您在那里的代码,当您调用控制器的merge方法时,params:id值也将为零,因为您的URI将只是'admin/content/merge‘,而它实际上需要是'admin/content/merge/:id’。
发布于 2012-11-25 02:35:42
由于合并文章表单位于编辑文章页面上,因此URI应该已经包含正在编辑的当前文章的id。
所以你可以像下面这样从参数散列中得到它:params[:id]
https://stackoverflow.com/questions/13445790
复制相似问题