努力查看HTML输出中的所有数据库条目
我有一个非常简单的RubyonRails应用程序,它有一个文本框,我可以在其中向数据库输入内容,限制为200个字符 我的目标是在文本框下面列出项目,这样当用户输入某个内容时,它就会出现在不断增长的列表的顶部 现在我有一些蹩脚的代码不起作用,但我不知道为什么 在我的查看页面(位于努力查看HTML输出中的所有数据库条目,html,ruby-on-rails,css,ruby,Html,Ruby On Rails,Css,Ruby,我有一个非常简单的RubyonRails应用程序,它有一个文本框,我可以在其中向数据库输入内容,限制为200个字符 我的目标是在文本框下面列出项目,这样当用户输入某个内容时,它就会出现在不断增长的列表的顶部 现在我有一些蹩脚的代码不起作用,但我不知道为什么 在我的查看页面(位于home.html.erb)中,我有此区域可供查看课程: <td class="my-lessons"> </td> 我不知道如何在代码中调用printLesson,也不知道如何显示Lesson
home.html.erb
)中,我有此区域可供查看课程:
<td class="my-lessons">
</td>
我不知道如何在代码中调用printLesson,也不知道如何显示Lessons数据库的内容
任何帮助都将不胜感激
home.html.erb
将在您转到http://localhost:3000/lesson/home
前提是您在路由中定义了适当的路由。rb
:
match 'lesson/home' => 'lesson#home'
因此,在您的课程
控制器中,在主页
操作中具有以下内容:
def printLesson
@lesson = Lesson.find(params[:id])
puts @lesson.content
end
def home
@lessons = Lesson.all
end
现在在您的home.html.erb
视图中呈现@lessons
<% @lessons.each do |lesson| %>
<tr>
<td class="my-lessons">
<%= lesson.Name %>
</td>
</tr>
<% end %>
您遇到的问题是,您必须告诉Rails在控制器操作中输出输入(行放置@lesson.content
)。Rails按惯例工作。在控制器操作中创建的任何实例变量都可以在视图中访问。因此,上述示例中的@lessons
变量可以在home.html.erb
视图中访问
我建议阅读以下内容,了解有关路线和渲染视图的更多信息:
app/views/lesson/home.html.erb
,您会做得更好。谢谢Soliah。所以我让它工作起来,展示这些经验教训。让这些内容显示在视图/pages/home.html.erb中最有效的方法是什么?最简单的方法是将代码从lesson\u controller.rb
移动到新的控制器page\u controller.rb
,将lesson
的实例重命名为page
。然后修改路线,改为转到页面
。你是最好的Soliah。非常感谢。