如何将提交按钮与我的rails数据库连接起来并保存它?

问题描述 投票:0回答:2

我正在尝试将这行代码(这是一个提交按钮)连接到我的rails应用程序中的数据库。我想给它后的方法将节省。

我尝试给它指定(@message)的参数,以使其更具体

这里是按钮的行:

<%= link_to 'Submit', messages_path(@message), method: :post, class: 'btn-submit' %>

这里是控制器:

def create
    Message.create(message_params)
    redirect_to root_path
end

页面仅在不保存数据的情况下重新加载。

ruby-on-rails database submit
2个回答
0
投票

如果附加了Message型号代码和routes.rb文件,将非常有帮助。但是无论如何...我会尽力解释。

通常,开发人员使用表单来提交数据。要创建Message对象,您需要从视图中传递一些数据。 More about forms。您的视图应如下所示:

<%= form_for @message do |f| %>
  <%= f.text_field :text, class: 'form-control' %> // you need to change it t be a field of your Message model
  <%= f.submit "Submit", class: 'btn-submit' %> // this is your submit button
<% end %>

在您的控制器中添加条件以检查是否已创建消息。 More info

def create
  if Message.create(message_params)
    redirect_to root_path # redirect to root path if message created
  else
    render :new # render action :new in case of errors.
  end
end

如果有的话,请确保传递通过Message模型validations所需的所有数据。

我希望这会有所帮助。


0
投票

您还应该检查表单也在Rails控制台中发布了什么URL

您可以通过在终端中运行来检查可用的路径

rake routes | grep message

这应该返回所有包含消息的路由。确保其正确并匹配!

© www.soinside.com 2019 - 2024. All rights reserved.