让我解释一下场景..!! 我已经使用设计进行身份验证。数据库中的设计表被命名为“用户”。现在我有另一个名为“book”的表,用于存储用户 ID。
class CreateBooks < ActiveRecord::Migration
def change
create_table :books do |t|
t.integer "user_id", :limit =>5
t.string "book_name", :limit => 50
t.integer "edition", :limit => 5
t.string "author", :limit => 30
t.string "branch", :limit => 30
t.string "publisher", :limit => 50
t.integer "year", :limit => 10
t.text "details"
t.timestamps
end
add_index :books, "user_id"
end
end
我将用户 ID 存储在书表中,以便我无法显示该用户可以使用这本书。但是在书页上只显示用户 ID 没有意义,所以我创建了另一个名为 s_user 的表,
class CreateSUsers < ActiveRecord::Migration
def change
create_table :s_users do |t|
t.integer "user_id", :limit => 5
t.string "fullname", :limit => 25
t.string "email", :default => "", :null => false
t.string "hashed_password", :limit => 40
t.string "salt", :limit => 40
t.string "address",:limit => 25
t.text "details"
t.timestamps
end
add_index :s_users, "user_id"
end
end
它存储了用户的完整信息,例如他/她的姓名、地址、电话号码。我在书和用户之间建立的关系是对多的,对用户与 s_user 的关系是一对一的。所以我不知道如何显示存储在 s_user 表中的用户信息。我在这里写了什么:在控制器中
@books = Book.all
在视图中
<tr>
<th>S.No</th>
<th>Book Name</th>
<th>Year </th>
<th>Owner id</th>
<th>Owner Details</th>
</tr>
</thead>
<tbody>
<% @books.each do |b| %>
<tr>
<td><%= b.id%></td>
<td><%= b.book_name%></td>
<td><%= b.year%></td>
<td><%= b.user_id%></td>
</tr>
<%end%>
现在在所有者详细信息下,我想显示用户详细信息。我没有得到如何显示?