gpt4 book ai didi

ruby-on-rails - 如何将我的模型连接到我的应用程序

转载 作者:太空宇宙 更新时间:2023-11-03 17:18:19 24 4
gpt4 key购买 nike

大家好,(我是 Rails 的初学者)

我创建了一个看起来像这样的 Controller :

class HomeController < ApplicationController

def homepage
end

def showmsg
@postword = params[:p]
end

end

showmsg View 如下所示:

<%= @postword %>

我的主页 View 如下所示:

  <%= form_tag( {:controller => 'home', :action => 'showmsg'}, :method => "post") do %>
<%= text_field_tag(:p,@postword) %>
<%= submit_tag("post") %>
<% end %>

现在我有一个表单,我可以在其中写一些东西,它会显示在 showmsg View 中。我用参数创建了一个模型 :posts 也有一个 :description “文本”字段。我的问题是我如何在代码中实现模型,这样我写的任何东西都会在一个列表中,其中包含我之前写的东西,因为现在(很明显)如果我写了一些东西,它会删除我之前写的东西。

谢谢大家!

最佳答案

我认为你的方法不是很像 rail...所以如果你正在学习 rails...你就学错了。

制作模型。称其为“消息”:

rails generate model Message content:string

记得迁移(希望你的数据库设置正确):

rake db:migrate

然后在您的 Controller 中,当您发布时,您可以创建这样的消息:

def create #instead of showmsg... 'create' is the standard name for this
Message.create(params[:message])
@messages = Message.all
end

这将在数据库中创建消息,然后它将所有消息从数据库中取出并放入@messages。

您需要编辑您的表单,以便它使用 form_for。您需要传递给它 @message,这是您的第一个 Controller 操作创建的 Message.new 的一个实例。你应该称这个为 new

在您的 create.erb.html 文件中,您显示所有这样的消息:

<ul>
<% @messages.each do |message| %>
<li><%= message.content %></li>
<% end %>
</ul>

我实际上不建议在创建操作中显示所有消息 - 它应该真正发生在 index 操作中并且您应该重定向...但我们需要保持简单。只需用谷歌搜索或观看 Ryan 的一些截屏视频,您就会明白。

你就完成了。这就是做事的“Rails Way”。最好按照他们希望您学习的方式学习它。

我还赞扬您通过缩进正确格式化代码,并开始将您的方法命名为真正的英语。例如,showmsg 不好,而 show_message 好很多。

如果所有这些都令人困惑,那么只需创建一个新项目,然后键入:

rails generate scaffold message content:string

它基本上会构建您想要的应用程序以及更多内容。您只需阅读代码,看看他们是如何做到的。

希望对您有所帮助。

关于ruby-on-rails - 如何将我的模型连接到我的应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6201941/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com