所以我创建了一个用户模型和商店模型。我在显示已在我的数据库中创建的商店名称时遇到问题。这是一个非常愚蠢的问题,有一个非常简单的解决方案,但我无法弄清楚我做错了什么。所以这是我的用户控制器,在那里我找到了我要显示的商店:
def show
@user = User.find(params[:id])
@store = Store.find(1)
end
以下是观点:
<% provide(:title, @user.username) %>
<div class="row">
<aside class="col-md-4">
<section class="user_info">
<h1>
<%= gravatar_for @user %>
<%= @user.username %>
</h1>
</section>
</aside>
</div>
<li><% @store.name %></li>
因此,用户的名称显示,没有问题,但由于某种原因,商店的名称没有显示。我知道在数据库中有一个id为1的商店。非常感谢任何帮助!
答案 0 :(得分:4)
要使用ERB输出内容,您需要向ERB块添加=
:
<%= @store.name %>
答案 1 :(得分:0)
像这样,
<li><%= @store.name %></li>
答案 2 :(得分:0)
让我们看看ERB
标记做了什么:
<%= %> # Prints the attribute value.
Welcome to <%= @store.name %>!
<% %> # Executes the code.
<ul>
<% @stores.each do |store| %>
<li><%= store.name %></li>
<% end %>
</ul>
<%# %> # Comments out the code.
<%# This is just a comment... %>
Rails扩展了ERB,因此您可以使用此快捷方式来抑制新行:
<% -%> # Avoids line break after expression.
<ul>
<% @stores.each do |store| -%>
<li><%= store.name %></li>
<% end %>
</ul>
有待进一步研究,请参阅here。