我怎样才能达到这个解决方案,更新&在rails循环中删除

时间:2016-01-29 17:43:45

标签: ruby-on-rails ruby ruby-on-rails-4

我是ruby on rails的新手我有一个列表:

Item List

控制器代码:

def postList
   @post_list = Post.paginate(page: params[:page], :per_page => 4).order('post_id DESC')
end

视图:

<% @post_list.each do |post| %>
 <%= post.post_title %>

 <div class="btn btn-success"> Add </div>
 <div class="btn btn-danger"> Delete </div>
<% end %>

我需要点击Add然后将1更新到数据库中,该数据库是column_name add&amp;点击Delete,然后从DB删除此原始广告。

如何在此循环中使用表单?

我如何才能达到此解决方案?

如果有人帮忙的话会很棒。

1 个答案:

答案 0 :(得分:0)

视图

<% @post_list.each do |post| %>
 <%= post.post_title %>

 #This will post to the update action.
 <%= form_for post do |f| %>
   <%= f.hidden_field :add, value: 1 %>
   <%= f.submit "Add", class: "btn btn-success"  %>
 <% end %>

 #This will post to the destroy action
 <%= link_to 'Delete', post_path(post), method: :delete, class: "btn btn-danger" %>
<% end %>

PostsController

def update
  post = Post.find(params[:id])
  post.update(params.require(:post).permit(:add))
end

def destroy
  post = Post.find(params[:id])
  post.destroy
end

您可以使用AJAX进一步增强,以便将remote: true添加到链接并形成并响应来自控制器的AJAX调用