如何将用户模型中的用户名显示到报价控制器的索引视图中?
How to show username from User model to the index view of Quote controller?
当我创建报价时,它要求提供报价正文、作者和用户 ID、用户和报价相关联,但我想显示用户的用户名和创建报价时有人输入的用户 ID。因此,如果用户的用户名是 "shanks" 并且他的 ID 是 4,并且当用户创建报价并在 user_id 的文本字段中输入 4... 我想在报价控制器的索引视图中显示具有该 ID 的用户的用户名。
def index
@quote = Quote.new
@quotes = Quote.order(created_at: :desc).all
@user = User.new
end
查看:
<!-- form to add a Quote -->
<div class="create-quote">
<%= form_for @quote do |f| %>
<%= f.label :quotetext %><br>
<%= f.text_field :quotetext %><br>
<%= f.label :author %><br>
<%= f.text_field :author %><br>
<%= f.label :user_id %><br>
<%= f.text_field :user_id %><br>
<%= f.submit "Add quote" %>
<% end %>
</div>
<!-- All quotes here -->
<% @quotes.each do |quote| %>
<blockquote>
<p>
<%= quote.quotetext %>
</p>
<footer>
<cite>
<%= quote.author %><br>
</cite>
<p>Posted by: <%= @user.username %> </p> <!-- this -->
<%= link_to "Delete quote", quote_path(quote), method: :delete, data: { confirm: "Are you sure you want to delete this beautiful quote?"} %>
</footer>
</blockquote>
<%= quote.like %></br>
<% end %>
用户模型:
class User < ActiveRecord::Base
has_many :quotes
validates :username ,presence: true
validates :password ,presence: true
end
引用模型:
class Quote < ActiveRecord::Base
belongs_to :user
validates :quotetext, presence: true,
length: { minimum: 5}
validates :author, presence: true
end
你的报价与用户相关联,所以当你这样做时它会给你用户对象
quote.user
现在,当您执行 quote.user.username
时,它会为与引用关联的用户提供用户名。
使用这个
<p>Posted by: <%= quote.user.try(:username) %> </p>
当我创建报价时,它要求提供报价正文、作者和用户 ID、用户和报价相关联,但我想显示用户的用户名和创建报价时有人输入的用户 ID。因此,如果用户的用户名是 "shanks" 并且他的 ID 是 4,并且当用户创建报价并在 user_id 的文本字段中输入 4... 我想在报价控制器的索引视图中显示具有该 ID 的用户的用户名。
def index
@quote = Quote.new
@quotes = Quote.order(created_at: :desc).all
@user = User.new
end
查看:
<!-- form to add a Quote -->
<div class="create-quote">
<%= form_for @quote do |f| %>
<%= f.label :quotetext %><br>
<%= f.text_field :quotetext %><br>
<%= f.label :author %><br>
<%= f.text_field :author %><br>
<%= f.label :user_id %><br>
<%= f.text_field :user_id %><br>
<%= f.submit "Add quote" %>
<% end %>
</div>
<!-- All quotes here -->
<% @quotes.each do |quote| %>
<blockquote>
<p>
<%= quote.quotetext %>
</p>
<footer>
<cite>
<%= quote.author %><br>
</cite>
<p>Posted by: <%= @user.username %> </p> <!-- this -->
<%= link_to "Delete quote", quote_path(quote), method: :delete, data: { confirm: "Are you sure you want to delete this beautiful quote?"} %>
</footer>
</blockquote>
<%= quote.like %></br>
<% end %>
用户模型:
class User < ActiveRecord::Base
has_many :quotes
validates :username ,presence: true
validates :password ,presence: true
end
引用模型:
class Quote < ActiveRecord::Base
belongs_to :user
validates :quotetext, presence: true,
length: { minimum: 5}
validates :author, presence: true
end
你的报价与用户相关联,所以当你这样做时它会给你用户对象
quote.user
现在,当您执行 quote.user.username
时,它会为与引用关联的用户提供用户名。
使用这个
<p>Posted by: <%= quote.user.try(:username) %> </p>