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