为什么Ruby on Rails不呈现一些文本?

时间:2009-09-15 21:46:08

标签: ruby-on-rails

我在部分视图文件_status.html.erb中有以下代码。

<%=
    if session[:user].nil?
        "welcome new user"
         link_to( 'Sign in', login_path) 
    else
         render ( :text => "user name:")
         h(session[:user].name)
     end
 %>

我看到的唯一一件事就是session[:user].name的价值。有什么建议吗?

1 个答案:

答案 0 :(得分:3)

你真的不需要调用渲染,除非它位于另一个部分。

在erb:

<% if session[:user].nil? -%>
  welcome new user
  <%= link_to( 'Sign in', login_path) %>
<% else -%>
  user name
  <%= h(session[:user].name) %>
<% end -%>

或者在Haml:

- if session[:user].nil?
  welcome new user
  = link_to( 'Sign in', login_path)
- else
  user name
  = h(session[:user].name)