新鲜的学习轨道,温柔。没有编程经验,但学习。
构建简单的应用程序:一个应用程序,询问"什么是你现在可以做的最重要的事情,"为您提供一个答案字段,提交它,然后显示存储的重要内容。
理想情况下,它们不会存储在索引页面上,但出于学习目的,我试图让他们这样做。
控制器代码:
class FacilitatesController < ApplicationController
def index
@facilitate = Facilitate.all
end
def new
@facilitate = Facilitate.new
end
def create
@facilitate = Facilitate.new(params[:facilitates])
@facilitate.save
redirect_to @facilitate
end
private
def facilitate_params
params.require(:facilitate).permit(:answer)
end
def show
@facilitate = Facilitate.find(params[:id])
end
end
索引查看代码:
<h1>Impactful Task Elicitation</h1>
<h1>Listing Stored To dos</h1>
<table>
</table>
<%= link_to 'Store impactful tasks', new_facilitate_path %>
新视图代码:
<h1>What is the most impactful task?</h1>
<p>Store below, motherbiatch</p>
<%= form_for :facilitate, url: facilitates_path do |f| %>
<p>
<%= f.label :answer %><br>
<%= f.text_area :answer %>
</p>
<p>
<%=f.submit 'Save Task' %>
</p>
<% end %>
到目前为止,我可以从索引,促进/新,并回答问题,存储我的重要事项。它然后带我去促进/ 33(ID I&m 39假设,或者我自己的数字,任务明智)
我想在Advant / 33(或它最终成为的任何数字)页面以及索引页面上显示这些任务。
我已经按照类似表格的说明进行了操作:http://guides.rubyonrails.org/getting_started.html但是,我仍然无法将我的存储空间设置为显示在任何地方。
任何帮助都会很棒。
答案 0 :(得分:0)
在您的控制器中,show
行下面有private
方法。这意味着它只能从控制器内部调用,因此您将被发送到show
模板,而不会调用该方法(@facilitate将为零)。
将def show
方法移到private
行以上。
然后我需要提供便利/ 33(ID I&m;假设,或者我自己的号码,任务明智)
行redirect_to @facilitate
表示在创建便利之后,转到它的show
方法和页面。 33
只是该特定便利的数据库参考,可以使用Facilitate.find(params[:id])
再次查找。
你没有发布app / views / facilit / show.html.erb的样子,但是如果你想显示新创建的便利,那么它应该有这样的一行:
<%= @facilitate.answer %>
我想在Advant / 33(或者它最终成为的任何数字)页面以及索引页面上显示这些任务。
如果您只关心列表,而不关心单个便利页面,那么在创建之后,您可以通过将create
更改为redirect_to @facilitate
(其中redirect_to facilitates_path
方法重定向回<%= @facilitate.answer %>
方法中的索引转换为&#39; / facilit&#39;)。
修改强>
show
示例适用于index
视图,而不是index
。
在<% @facilitate.each do |facilitate| %>
<%= facilitate.answer %><br>
<% end %>
,你可以做更多这样的事情:
{{1}}
列出所有内容。