2

私が達成しようとしているのは、React Rails gemを使用してReactコードに渡す前にオブジェクトを構築するためにデコレータ(おそらくDraper)を使用することです。私は簡単にオブジェクトを飾ると、ビュー内のメソッドを使用しますが、それは私が配列を渡す場合によって小道具を反応させるのは不可能であることができます。RailsでJavaScript用のビューオブジェクトを作成するには

<%= react_component('Project', { name: project.name, choices: project.options %>

私は私の中に飾らproject.options.total方法ことがアクセスできなくなりますJavaScriptコード。

これらのオブジェクトを作成する別の方法はありますか?以前はActive Model Serializersを使用していましたが、これは1ページのアプリではなく、Railsビュー内のReactコンポーネントです。

答えて

0

解決策は、Reactコンポーネントに渡される前にJSON文字列に必須フィールドを追加するメソッドを作成することです。

私はActive Model Serializersを使用してよりクリーンなソリューションを見つけることができたと思います。

ActiveModelSerializers::SerializableResource.new(@projects, scope: current_user, scope_name: :current_user).as_json 
:簡単にスコープを使用して行うことができるようシリアライザへ current_userを追加し、サイドノートとして

@project_json = ActiveModelSerializers::SerializableResource.new(@projects).as_json 

:あなたは、シリアライザを作成し、コントローラメソッドでJSONを構築します

関連する問題