我正在尝试将这行代码(这是一个提交按钮)连接到我的rails应用程序中的数据库。我想给它后的方法将节省。
我尝试给它指定(@message)的参数,以使其更具体
这里是按钮的行:
<%= link_to 'Submit', messages_path(@message), method: :post, class: 'btn-submit' %>
这里是控制器:
def create
Message.create(message_params)
redirect_to root_path
end
页面仅在不保存数据的情况下重新加载。
如果附加了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所需的所有数据。
我希望这会有所帮助。
您还应该检查表单也在Rails控制台中发布了什么URL
您可以通过在终端中运行来检查可用的路径
rake routes | grep message
这应该返回所有包含消息的路由。确保其正确并匹配!