【发布时间】:2026-01-28 19:10:01
【问题描述】:
我正在学习 Ruby on Rails。我做了一个这样的简单链接:
<%= link_to "Alex Link", alexes_path(@alex) %>
然后我像这样在 routes.rb 中路由它:
resources :alexes
get "home/index"
那我有点不清楚,但我认为是控制器的这一部分:
def index
#@alexes = Alex.all
respond_to do |format|
format.html # index.html.erb
format.json { render json: @alexes }
end
end
我是否正确,它转到了控制器的这一部分?
然后什么都没有发生,它进入下一页index.html.rbviews\alexes下
所以我想知道的是 - 如果我需要做一些业务逻辑,我会在控制器 sn-p 中编写它吗? sn-p里面在哪里?举个例子就好了。
另外,我想连接到 MongoDb 数据库。我还要在控制器中间写吗?
谢谢!
【问题讨论】:
-
什么是“亚历克斯”?静态页面? - 如果您还不了解这些指南,我还建议您阅读:edgeguides.rubyonrails.org/getting_started.html。 - 只是为了澄清。通常尽量避免将业务逻辑放入控制器中。
-
@Deradon Alex 是我的名字 :) 它现在是一个非常静态的测试页面,但我计划在学习如何做到这一点时用更复杂的东西来改变它:)
-
@Deradon 但如果不是控制器,在哪里?似乎在它击中控制器之后,它就进入了下一个视图。这令人困惑。
-
嗯,好的。所以我们可以用 User 来改变“Alex”。因此,您可以创建一个用户模型并将所有业务逻辑放入其中。如果您正在尝试尝试
rails g scaffold user name:string。这将创建一个模型、其对应的控制器和一些路由。所以你会看到 rails 的基本工作原理。 -
@Deradon 刚刚尝试过。它创建了很多文件。所以我不清楚,我会在 app/models/user.rb 中编写业务逻辑吗?
标签: ruby-on-rails ruby