开发者

How does rails know what :something is?

I have the following code

form.label :artists

which outputs

开发者_如何学运维
<label for="artist_artist_name">Artist name</label>

How did rails find the strings artist_artist_name and Artist name?

In general, how can I track this kind of information down?

I have tried grep -ri artists * in the project root but there is no result (apart from form.label :artists). Same for Artist name...


The form helper is used as in the following snippet:

<%= form_for @person do |f| %>
  <%= f.label :first_name %>:
  <%= f.text_field :first_name %><br />

  <%= f.label :last_name %>:
  <%= f.text_field :last_name %><br />

  <%= f.submit %>
<% end %>

What follows f.label or f.text_field is the identifier of a property for the object referred by @person.

The CSS ID you notice is simply obtained concatenating the name of the variable with an underscore, and the property name; the label is obtained replacing the underscores in the property with spaces, and rewriting the first word in capital case.

The code I reported would generate the following HTML (I removed the parts that were not important).

<form action="/people" class="new_person" id="new_person" method="post">
  <label for="person_first_name">First name</label>:
  <input id="person_first_name" name="person[first_name]" size="30" type="text" /><br />

  <label for="person_last_name">Last name</label>:
  <input id="person_last_name" name="person[last_name]" size="30" type="text" /><br />

  <input name="commit" type="submit" value="Create Person" />
</form>
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜