0

我正在尝试自学 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 引入了一些新的代码/语法?
4

1 回答 1

2
  1. <%=将表达式的结果输出到页面。<%只是评估它。
  2. @表示类中的实例变量。在 Rails 中,这也是将控制器变量公开给视图的方式。
  3. Rails 没有为 Ruby 添加任何新语法,尽管有一些约定可能看起来与“传统”Ruby 代码不同。
于 2013-02-19T21:50:06.213 回答