[英]Rails 4 - Render controller variable
我是Rails的新手,这似乎是一件微不足道的事情,但是我不知道该如何渲染。
我有一个接受字符串输入的形式:
<%= form_for @idea do |f| %>
<div>
<%= f.label :idea_list %>
<%= f.text_field :idea_list %>
</div>
<%= f.submit %>
<% end %>
和一个控制器:
class IdeasController < ApplicationController
def index
end
def new
@idea = Idea.new
end
def create
@idea = Idea.new(idea_params)
if @idea.save
render :index
else
render 'new'
end
end
private
def idea_params
params.require(:idea).permit(:idea_list)
end
end
然后,我想在index.html.erb
呈现idea_list
参数,但无法弄清楚该怎么做。 我试过了:
<p><%= @idea %></p>
但我得到了#<Idea:0x007f8b16d98638>
的输出。
<% @idea do |idea| %>
<p><%= idea.idea_list %></p>
<% end %>
我已经尝试了许多变体,但是不断出现各种错误。
请帮忙。
因此, @idea
是对象的实例。 idea_list
是一个属性。 因此,您需要调用@idea.idea_list
。 每当您想从控制器引用对象/模型的实例时,都将转到@instance.attribute
。
在你的情况下,它将是
<p><%= @idea.idea_list %></p>
如果您想从所有列表中显示它们,在您看来
<%@ideas.each do |idea| %>
<p><% idea.idea_list%></p>
<% end%>
在您的控制器中
def index
@ideas = Idea.all
end
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.