我有部分用于在财务应用中显示交易。
<%= form_for @transaction ... do |f| %>
...
<%= transaction_name(@transaction) %>
...
<% end %>
在这个部分中,我需要以不同的方式显示transaction.name
,具体取决于当前页面。
我的transaction_name
帮手是:
def transaction_name(t)
# Create name
if t.name.present?
name = t.name
else
name = 'Some default text'
end
# Update name if transaction has debt
if t.debt.present? and !current_page?(debts_path) # <- problem is here
name = t.debt.debtor.name + ' (' + name + ')'
end
name.html_safe
end
因此,如果用户不在debts_path
,我想将Debtor
名称添加到Transaction
名称。在index
路径中一切正常,但是当我更新事务时(它只是用更新的事务替换旧的事务表单),它总是显示Debtor
名称,即使我在{{1} }。
当然,交易的更新通过debts_path
而transactions_controller
位于debts_path
。也许问题在这里,但实际上我在更新事务时不会更改debts_controller
。
感谢您的帮助!
答案 0 :(得分:0)
试试这个:
if t.debt.present? && "#{action_name}"!="index"