React Rails:在React js.jsx中渲染html.erb文件

时间:2017-10-10 18:11:34

标签: ruby-on-rails reactjs react-rails

我有一个react-rails项目(ES5),其中我试图从React Component.js.jsx中的_form.html.erb文件中呈现一个表单...我真的迷失了如何接近这种情况,如果有可能的话。我的项目中有很多表单,但在html.erb视图中,所有表单都以传统的<%= render "samples/new_sample_form" %>方式呈现。但是,现在我在一个React组件中,并试图将我的Rails表单拉入js.jsx文件。我已经尝试创建一个变量var sampleForm = "<%= render 'samples/new_sample_form' %>",但这不起作用,只给了我作为文本的路径而没有做任何事情。

那么 - 是否有可能做我正在尝试的事情,如果是这样......怎么样?感谢。

Code in js.jsx - &gt; var taskForm = "<%= render 'tasks/new_task_form' %>" - &gt; My result

1 个答案:

答案 0 :(得分:1)

为了使其工作,您必须通过ERB引擎运行该文件。你可以尝试重命名你的React文件some_component.js.jsx.erb,但这不是真正的“React”方式。

你应该完全摆脱你的形式并将其重建为React组件。然后,您可以使用Ruby将props传递给组件。所以在你看来:

<%= react_component 'YourFormComponent', {prop1: 'prop1_value', prop2: 'prop2_value'} %>