我有一個簡單的rails應用程序,用戶可以在其中創建'項目',但在列出所有項目的主索引頁面上,有'顯示,編輯和刪除'鏈接。到每個'項目'。我知道這是由於我使用腳手架來完成項目,但我想確保人們只能編輯他們創建的項目。這個邏輯目前略高於我的頭腦,就像我以前所說的那樣,對於Rails來說是全新的。CRUD項目/ Microposts在Rails應用程序中的所有權
用戶控制器:
class UsersController < ApplicationController
def show
@user = User.find_by_username(params[:id])
end
def index
@user = User.find(:all)
end
end
碩士項目查看:
<div class="well">
<h1>All Items</h1>
<table>
<tr>
<th>Title</th>
<th>Details</th>
<th>Inquire</th>
<th></th>
<th></th>
<th></th>
</tr>
<% @items.each do |item| %>
<tr>
<td><%= link_to item.title, item_path(item) %></td>
<td><%= item.content %></td>
<td><%= mail_to item.email, "Inquire", :cc => "[email protected]",
:subject => "OverFlow Inquiry Regarding " + item.title %></td>
<td><%= link_to 'Show', item %></td>
<td><%= link_to 'Edit', edit_item_path(item) %></td>
<td><%= link_to 'Destroy', item, confirm: 'Are you sure?', method: :delete %></td>
</tr>
<% end %>
</table>
<br />
<%= link_to 'New Item', new_item_path %>
</div>
產品型號:
class Item < ActiveRecord::Base
attr_accessible :content, :user_id, :title
validates :content, :length => { :maximum => 140 }
belongs_to :user
delegate :email, to: :user
end
與此問題類似:http://stackoverflow.com/q/2463962/178651 – 2013-02-25 21:12:00