私は、このモデルを持っている:フェニックスのモデルにインスタンスメソッドを追加するには?
defmodule MyApp.MyModel do
use MyApp.Web, :model
import Ecto.Query
# ....
どのようにしても、mymodelという上の他のフィールドを使用することにインスタンスメソッドを追加することができますか?これは、エリクサーは関数型プログラミング言語であるので、あなたはメソッドを持っていない、あなたが機能を持っているthe key :my_method not found
defmodule MyApp.MyModel do
use MyApp.Web, :model
import Ecto.Query
# doesn't work
def my_method do
# how can I get access to "this" or "self" from here?
"test"
end
実際には、データベースから取得したオブジェクトのフィールドにアクセスできるのと同じ方法でアクセスできます。したがって、HTMLページでは、私は '<%= my_item.title%>'と書くことができます。しかし、あなたのアプローチを使って、私は "my_func"に対して同じことをすることはできません。どのように '<%= my_item.my_func%>'を書くことができるように変更する必要がありますか? – Ommonnna
テンプレートから関数を呼び出すには、<%= MyModel.my_func(my_item)%> ' – Gazler
yesですが、' <%= my_item.my_func()%> 'または' <% = my_item.my_func%> ' – Ommonnna