直接获得Ruby语法

时间:2013-02-19 21:47:09

标签: ruby-on-rails ruby

我正在尝试自学Ruby和Ruby on Rails。有人可以从http://guides.rubyonrails.org/getting_started.html

给我一​​些关于此代码的快速指示
<%= form_for(@post) do |f| %>
  <% if @post.errors.any? %>
    <div id="errorExplanation">
      <h2><%= pluralize(@post.errors.count, "error") %> prohibited
      this post from being saved:</h2>
      <ul>
      <% @post.errors.full_messages.each do |msg| %>
        <li><%= msg %></li>
      <% end %>
      </ul>
    </div>
  <% end %>

  <div class="field">
    <%= f.label :name %><br />
    <%= f.text_field :name %>
  </div>
  <div class="field">
    <%= f.label :title %><br />
    <%= f.text_field :title %>
  </div>
  <div class="field">
    <%= f.label :content %><br />
    <%= f.text_area :content %>
  </div>
  <div class="actions">
    <%= f.submit %>
  </div>
<% end %>

问题:

  1. 有时,代码使用<%,有时会使用<%=。我何时使用其中任何一种?
  2. @在Ruby中究竟是什么意思?何时使用?
  3. 除了HTML之外,是Ruby代码的全部代码,还是Ruby on Rails引入的一些新代码/语法?

1 个答案:

答案 0 :(得分:2)

  1. <%=将表达式的结果输出到页面。 <%只评估它。
  2. @表示类中的实例变量。在Rails中,它也是如何将控制器变量暴露给它的视图。
  3. Rails没有为Ruby添加任何新语法,尽管有些约定可能与“传统”Ruby代码有所不同。