выберите метку в рельсах 3 - PullRequest
0 голосов
/ 01 декабря 2011

Я пытаюсь создать выпадающее меню и назначить ему событие onchange в rails3. как бы я это сделал.

<select name="" class="wy_inputs_selects sround">
       <% @domains.each do |record| %>
  <option value="<%= record.name %>.<%= record.tld %>" ><%= record.name %>.<%= record.tld %></option>
           <%end%>
</select>

Я конвертирую приведенный выше код в ruby, как

<%= select_tag "",:class=>'wy_inputs_selects sround',options_from_collection_for_select(@domains,"name",

Но я застрял с тем, как получить record.tld и record.name, используя вышеуказанный формат

Ответы [ 2 ]

2 голосов
/ 01 декабря 2011

попробуйте

<select name="" class="wy_inputs_selects sround">

<% @domains.each do |record| %>
 <% @name_tld = record.name.to_s + "." + record.tld.to_s %>
 <option value="#{@name_tld}" ><%= @name_tld %></option>
 <% end %>

</select>

вы также можете выбрать вспомогательный метод rails, например, так (он используется внутри формы)

пример 1

<%= form_for @dates,:remote => true do |f| %>
    <%= f.date_select :booking_date,:onchange => "this.form.submit();" %>
<% end %>

пример 2 (со значением по умолчанию)

<%= form_for(@image),:remote => true do |f| %>
    <%= f.select :album_id, @albums_all.map {|m| [m.name, m.id] }, :selected => @album_id %> <!-- default value, current album -->
<% end %>

не забудьте включить это в ваш файл views / layouts / application.html.erb, чтобы рельсы использовали ajax

<%= javascript_include_tag :defaults %>
<%= csrf_meta_tag %>
0 голосов
/ 01 декабря 2011

Я бы определил имя в модели для записи (record.rb или domain.rb, независимо от названия вашей модели), что-то вроде:

def detail_name
  return self.name+'.'+self.tld
end

Затем вызовите detail_name из тега select.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...