使用Rails API反应On Rails gem

时间:2017-03-07 20:05:47

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

我试图在Rails API之上运行React。我创建了带有--api标志的Rails应用程序,所以我可以尽可能地使它成为极简主义者,我选择了react_on_rails gem来使React工作在其上,因为它似乎是一个很好的方法来解耦客户端和服务器应用程序。

我按照gem's Github page上的教程进行操作,但是当我在运行Foreman后尝试访问URL http://localhost:5000/hello_world时,我得到以下内容:

19:34:58 web.1    | Started GET "/hello_world" for 127.0.0.1 at 2017-03-07 19:34:58 +0000
19:34:58 web.1    | Processing by HelloWorldController#index as HTML
19:34:58 web.1    | Completed 204 No Content in 0ms (ActiveRecord: 0.0ms)

我非常确定我得到此响应的原因是因为Rails没有通过所有资产管道而且没有呈现index.html.erb视图,因为API模式。

所以我的问题是,我可以通过react_on_rails gem使Rails API与React协同工作吗?或者我是否需要更改配置,以便Rails应用程序停止在API模式下工作'?或者也许我可以调整gem的配置以便正常工作,尽管我在文档中找不到任何内容。

我的hello_world_controller.rb控制器,使用rails generate react_on_rails:install自动生成的内容如下所示:

class HelloWorldController < ApplicationController
  def index
    @hello_world_props = { name: "Stranger" }
  end
end

非常感谢所有帮助和指导,因为我并不是这些工具的专家。谢谢!

1 个答案:

答案 0 :(得分:0)

React on Rails最终通过Rails的视图层提供webpack包。所以没有它不能用api-only开箱即用。