Приложение Rails, генерирующее дополнительный вывод - PullRequest
0 голосов
/ 10 февраля 2011

Я пытаюсь дурачиться с приложением rails, чтобы узнать, как правильно делать вещи, и у меня получилось отличное начало, но теперь меня это беспокоит. Это довольно косметично, но это не дает мне покоя.

Я сделал этот контроллер сеанса и помощник сеанса, чтобы позаботиться о входе в систему и выходе из нее, и я считаю, что это работает нормально (на самом деле еще не проверял), но когда я хочу использовать, если дополнительный вывод на мой взгляд (где я использую haml), ниже приведен весь код, который, как я считаю, участвует в создании этого дополнительного вывода.

sessions_helper.rb:

def get_current_user
  @current_user ||= false
end

def signed_in?
   !get_current_user.nil?
end

частичный: _menu.html.haml (я все еще учусь, чтобы это выглядело как ruby-isk)

%nav
  #userbox
    =if signed_in?
      =link_to 'Create User', :signup
      |
      =link_to 'Log In', :signin
    =if !signed_in?
      =link_to "My profile", :root
      |
      =link_to 'Log Out', :signout
  %ul
    %li= link_to 'About', :about
    %li= link_to 'Concept', :concept
    %li= link_to 'Home', :root

Это заканчивается генерацией следующего html:

<nav> 
  <div id='userbox'> 
    <a href="/signup">Create User</a> 
    |
    <a href="/signin">Log In</a> 
  2

  </div> 
  <ul> 
    <li><a href="/about">About</a></li> 
    <li><a href="/concept">Concept</a></li> 
    <li><a href="/">Home</a></li> 
  </ul> 
</nav> 

Проблема здесь в том, что генерируется дополнительный номер 2. Как мне это убрать?

1 Ответ

1 голос
/ 10 февраля 2011

Попробуйте использовать - вместо = в коде ruby, который не рендерит код:

%nav
  #userbox
    - if signed_in?
      =link_to 'Create User', :signup
      |
      =link_to 'Log In', :signin
    - if !signed_in?
      =link_to "My profile", :root
      |
      =link_to 'Log Out', :signout
  %ul
    %li= link_to 'About', :about
    %li= link_to 'Concept', :concept
    %li= link_to 'Home', :root

См. Здесь документацию по запуску кода ruby: http://haml -lang.com / docs / yardoc / file.HAML_REFERENCE.html # running_ruby_

...