我试图在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
非常感谢所有帮助和指导,因为我并不是这些工具的专家。谢谢!
答案 0 :(得分:0)
React on Rails最终通过Rails的视图层提供webpack包。所以没有它不能用api-only开箱即用。