Есть ли в Ruby on Rails метод для получения "канонического" имени для объекта модели? - PullRequest
0 голосов
/ 17 января 2012

Я пытаюсь высушить общий макет, который я использую для отображения всплывающих окон с ошибками JavaScript.

В настоящее время этому макету передаются две локальные переменные: «target» и «target_name».Они используются для создания записей Javascript следующим образом:

<% target.errors.each do |attribute, error_message| %>
        $(".mainForm #<%= "#{target_name}_#{attribute}" %>").validationEngine("showPrompt", "<%= error_message %>", 'load', 'topRight', true);
<% end %>

Существует также другая часть общего макета, которая использует эти переменные для составления "флэш" сообщения тоже

<p><%= pluralize(target.errors.count, "error") %> prohibited this <%= target_name %> from being created:</p>

Такмой вопрос заключается в том, могу ли я получить «target_name» из «target» в каждом случае, учитывая, что я в основном придерживаюсь соглашений?

Например, я использую эту схему ошибок из формы Users следующим образом

<%= render "shared/errors", target: @user, target_name: "user" %>

<%= form_for @user html: {class: "mainForm"} do |f| %>
  <fieldset>
    <div class="rowElem"><label>Login:</label>
      <div class="formRight"><%= f.text_field :login %></div>
...

Таким образом, мне нужно только указать здесь переменную "target" и извлечь "target_name" в макете из объекта "target".

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