2013-12-17 5 views
0

У меня есть rails app (source), который выполняет планирование. Я пытаюсь повторно использовать template for shifts tables между видом смены и почтовым сообщением.Как повторно использовать шаблон Rails в ActionMailer

Я хотел бы удалить ссылки для почтового сообщения, но у меня возникли трудности с логикой. HAML У меня в настоящее время:

%table#shift-table 
    %tr 
    %th Start 
    ⋮ 
    %th Task 
    - if defined? params 
     %th.options 

    - @shifts.each do |shift| 
    %tr 
     %td= shift.start 
     ⋮ 
     %td= link_to_if(defined? params, shift.task.name, shift) if shift.task 
     - if defined? params 
     %td 
      = link_to 'Show', shift, class: [:btn, 'btn-default'] 
      - if defined? can? and can? :update, shift 
      = link_to 'Edit', edit_shift_path(shift), class: [:btn, 'btn-default'] 
      - if defined? can? and can? :destroy, shift 
      = link_to 'Delete', shift, :method => :delete, :data => { :confirm => 'Are you sure?' }, class: [:btn, 'btn-default'] 

defined? params находится в почтовой программе true, так что это не работает. Когда я пытаюсь params.nil? или params[:controller], я получаю:

undefined method `params' for #<ScheduleMailer:0xae5e520> 

Я должен упомянуть, что я посылаю электронную почту от rake task.

ответ

0

Вы хотите знать, если представление визуализируется с помощью контроллера или не

# Idiom for setting undefined value 
- params = params rescue {} 
... 
- if params[controller] 

или вы можете просто проверить, если

Смежные вопросы