0

現在、ライブラリ管理システムのプロジェクトを行っています。プロジェクトには 5 つのテーブルがあります。それらはすべて相互にリンクされており、相互に参照しています。

私が取り組んでいるテーブルはAdmin、、、、およびBooksLibrary_LocationsUsersCategories

Books is referencing user,categories and admin .User is referencing library_location

それらすべてのモデルとコントローラーを作成しました。book_id をクリックすると、ユーザー、カテゴリー、および管理者の詳細を取得できるようなビューを作成できるかどうかを知りたいです。

私の本のテーブルは次のとおりです:-

id serial NOT NULL,
  title character varying(255) NOT NULL,
  abstract character varying(255),
  isbn character varying(255),
  call_no character varying(255),
  reference_no character varying(255),
  category_id integer,
  library_location_id integer,
  author_first_name character varying(255),
  author_middle_name character varying(255),
  author_last_name character varying(255),
  image character varying(255),
  publisher character varying(255),
  edition character varying(255),
  book_location character varying(255),
  deleted integer NOT NULL DEFAULT 0,
  total_num_copies integer,
  cost numeric(8,2) DEFAULT 0.0,
  entered_by integer,
  last_updated_by integer,
  created_at timestamp without time zone NOT NULL,
  updated_at timestamp without time zone NOT NULL,
  CONSTRAINT books_pkey PRIMARY KEY (id)

私はlov_namesとvalues.Theビューでそれを試してみました:-

<h3>lov Name</h3><br>
<div class="span3">
<table class="table table-striped table-bordered">
<tr>    
<td>Lov Names-Id: </td><td><%= params[:id] %></td>
<tr><td>Lov Names-Name:</td><td> <%= LovName.where('id = ?', params[:id]).pluck(:name)[0] %></td></tr>
<tr><td>Lov Values-Description:</td><td> <%= LovName.where('id = ?', params[:id]).pluck(:description)[0] %></td></tr>
</tr>


</table>
</div>
</br>

   <table class="table table-hover table-bordered">

 <tr><th>lov_value id.</td><th>lov_value Name</th><th>lov_value</th><th>Sequence</th><th>Edit</th><th>Delete</th></tr>
<% @lov_value.each do |p| %>
<tr>
<td><%= p.id %> <br></td>
<td><%= p.lov_name_id %> <br></td>
<td><%= p.lov_value %> <br></td>
<td><%= p.sequence %> <br></td>

<td><%= link_to 'Edit', {:action => 'lov_value_edit', :id => p.id} %> &nbsp;</td>
<td><%= link_to 'Delete', {:action => 'lov_value_delete', :id => p.id},
    :data => { :confirm => "Are you sure you want to delete this lov_value?" } %></td>
    </tr>
</tr>
<% end %>
</table>
<br/>

<p class="btn btn-primary "><%= link_to 'Back', {:action => 'index'} %></p>
<p class="btn btn-primary "><%= link_to 'Add New lov_values', {:action => 'add_values'} %></p>

My Books.rb スニペット:-

has_many :book_holds
has_many :book_transactions

belongs_to :admin, :foreign_key => 'last_updated_by'
belongs_to :admin, :foreign_key => 'entered_by'

belongs_to :library_location
belongs_to :category
    belongs_to :user

これを実装する方法について誰か提案してもらえますか

4

1 に答える 1

0

あなたはおそらくこの問題を考えすぎていると思います。あるいは、オンラインで100%無料のMichael Hartlの驚異的なRailsチュートリアルを読んでいないかもしれません(安価な印刷版とKindle版もあります)。

必要なさまざまな値へのアクセスはコントローラークラスで行われる必要があり、データの表示はビューで行われる必要があります。したがって、コントローラーは次のようになります。

/app/controllers/books_controller.rb

class BooksController
  def index
   @books = Book.all
  end

  def show
   @book = Book.find(params[:id])
   @category = @book.category
   @lastUpdatedBy = @book.last_updated_by
   @enteredBy = @book.entered_by
   @user = @book.user
  end

  # Any other methods (edit, destroy, create, new, etc.) go here
end

次に、ビューを定義します。

/app/views/books/show.html.erb

<h1><%= @book.title %><h1>
<h2>By <%= @book.author %></h2>
<h3>Category: <%= @category.name %></h3>

<p> Current user: <%= @user.name %> </p>
<p> Last updated by: <%= @lastUpdatedBy.name %> </p>
<p> Entered by: <%= @enteredBy.name %> </p>
于 2013-03-12T05:11:43.967 に答える