使用 Action Text 时数据被发送到错误 table?

Data being sent to the wrong table when using Action Text?

Using Ruby on Rails 6,用户保存他们的故事后(使用 Action Text 键入他们的故事),他们将被重定向到故事所在的 show 视图可以阅读。然而,什么也没有出现,而且在检查数据库时,似乎没有任何东西被保存。

在阅读了文档并观看了一些视频后,我从我的 Story table 中删除了 body 列,以便由 ActionText 存储。

型号:

class Story < ApplicationRecord
    # declare that body has a rich text field
    has_rich_text :body
end

控制器:

def new
        @story = Story.new
    end

    def create
        @story = Story.new(params[:story_params])
        if @story.save
          redirect_to @story
        else
          render 'new'
        end
    end

    def show
        @story = Story.find(params[:id])
    end

    private

    def story_params
        params.require(:story).permit(:heading, :summary, :body)
    end

表格来自new.html.erb

<%= form_with(model: @story) do |form| %>
    <%= form.label :heading %> <br>
    <%= form.text_area :heading %>
    <br>
    <%= form.label :summary %> <br>
    <%= form.text_area :summary %> 
    <br>
    <%= form.label :body %>
    <%= form.rich_text_area :body %>
    <br>
    <%= form.submit %>
<% end %>

我希望 headingsummary 存储在 Story table 中,而 ActionText 处理 body。 这是 happens 创建和保存故事时的内容。 正如所见 here,Story table 中没有任何内容被保存。

您实际上应该使用您的 story_params 方法:

@story = Story.new(story_params)