Rails Cell Gem ( https://github.com/apotonick/cells )を使用しようとしていますが、コントローラーとビューからセルをレンダリングするのに問題があります。
これは私のセルです(簡略化):
class AcquiredSkillsCell < Cell::ViewModel
def show
render
end
def has_acquired_skills?
model.count > 0
end
end
標準の ERB ビュー内では、次のようにセル化できます。
<%= cell(:acquired_skills, wh.acquired_skills).show %>
そして、セルは問題なくレンダリングされます。
しかし、コードの他の場所で、(AJAX 呼び出しの結果として) コントローラーからこのセルをレンダリングする必要があり、API を理解できません。
ビューの結果と同じ方法で呼び出しても機能しません。レールはセル呼び出しの結果をレンダリングせず、代わりにコントローラーのメソッド名に基づいてテンプレートを探します。
次のように呼び出します。
render_cell(:acquired_skills, wh.acquired_skills).show
与える: AbstractController::ActionNotFound (AcquiredSkillsCell のアクション '#' が見つかりませんでした)
次のように呼び出します。
render_cell(:acquired_skills, :show, @work_history.acquired_skills)
与えます: ArgumentError in AcquiredSkillsController#create 間違った数の引数 (0 に対して 1)
これは、show メソッドに引数を渡していることを意味します...引数を使用して show を定義できますが、暗黙のモデル インスタンス変数を取得できません。
何か案は?render_cell の API ドキュメントを見つけることができれば、これはより簡単になると思います:/
サム