Bằng cách nào đó có thể sử dụng lại fragments?Các mảnh vỡ tái sử dụng
Trong một ví dụ như thế này
def unpublished_by_title(title) do
from p in Post,
where: is_nil(p.published_at) and
fragment("downcase(?)", p.title) == ^title
end
Nó có vẻ như nó sẽ rất thuận tiện để có thể trích xuất đoạn phần vào một chức năng riêng biệt để nó có thể được tái sử dụng ở những nơi khác, ví dụ:
def unpublished_by_title(title) do
from p in Post,
where: is_nil(p.published_at) and
downcase(p.title) == ^title
end
def downcase(title) do
fragment("downcase(?)", ^title)
end
tuy nhiên, sau khi thử nhiều biến thể khác nhau, có vẻ như điều này sẽ không hoạt động do mở rộng macro hoặc tương tự như vậy. Bất kỳ ý tưởng?
Xin chào, cảm ơn đề xuất. Đáng buồn là tôi đã thử điều này và nó đã không làm việc ra, tôi đã viết về một lý do có thể có trong phần cập nhật của câu hỏi. – ave
@ave hoạt động hoàn hảo cho tôi. Bạn có chắc chắn rằng macro được định nghĩa _above_ hàm sử dụng nó không? –