2015-04-22 55 views
0

所以我创建了一个用户模型和一个商店模型。我遇到显示已在我的数据库中创建的商店名称的问题。这是一个非常愚蠢的问题,有一个非常简单的解决方案,但我无法弄清楚我做错了什么。因此,这里是我的用户控制器,在那里我找到了商店,我想显示:Ruby on Rails:在视图中显示模型属性

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的商店。任何帮助在这里将不胜感激!

回答

4

输出内容与雇员再培训局,你需要一个=添加到ERB块:

<%= @store.name %> 
0

让它这样,

<li><%= @store.name %></li> 
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,所以你可以使用这个快捷键来抑制新的l ine:

<% -%> # Avoids line break after expression. 
<ul> 
    <% @stores.each do |store| -%> 
    <li><%= store.name %></li> 
<% end %> 
</ul> 

有待进一步研究,请参阅here

相关问题