ruby on rails-我如何在微博上创建一个消息的删除链接



我创建了一个小应用程序,它有一个发布消息的栏,我想在每条消息中添加一个删除按钮,这样我就可以删除它。

这是我的代码:

控制器:

class HomeController < ApplicationController
  def create
    @message = Message.new(params[:message])
    if @message.save
      redirect_to "/home/show_msg"
    else
      render :action => "/home/home_page"
    end
  end
  def home_page
    @message = Message.new
  end
  def show_msg
    @postwords = Message.all
  end
  def index
  end
end

视图(主页):

<center><h1>MiNibloG</h1></center>
<br>
<br>
<div align="center">
<%= form_for @message, :url => "/home/create" do |f| %>
<%= f.label :postword %>
<%= f.text_field :postword %>
<%= f.submit "Post" %>
<% end %>
</div>

视图(show_msg):

<center>
<h1>Posts list</h1>
<br>
<br>
<ul>
  <% @postwords.each do |p| %>
    <%= p.postword %><br><br>
  <% end %>
</ul>
</center>

这就是迁移:

class CreateMessages < ActiveRecord::Migration
  def self.up
    create_table :messages do |t|
      t.string :postword
      t.timestamps
    end
  end
  def self.down
    drop_table :messages
  end
end

请看一下脚手架,脚手架非常适合您的情况。

rails generate scaffold message postwords:string

此命令为您生成视图、控制器和迁移。

对于使用自己的非REST控制器进行删除,请使用以下代码(未测试)

 <% @postwords.each do |p| %>
        <%= p.postword %>
        <%= link_to 'Destroy', destroy(p) %><br>
 <% end %>

在控制器中:

  def destroy
    @message = Message.find(params[:id])
    @message.destroy
    respond_to do |format|
      format.html { redirect_to some_route }
      format.xml  { head :ok }
    end
  end

在路由中添加销毁操作。rb

相关内容

  • 没有找到相关文章

最新更新