我是一个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然后,我想在idea_list中呈现index.html.erb参数,但无法知道如何实现。我试过:
<p><%= @idea %></p>但是我得到了#<Idea:0x007f8b16d98638>的输出。
<% @idea do |idea| %>
<p><%= idea.idea_list %></p>
<% end %>我尝试过很多不同的方法,但是不断地出现各种错误。
请帮帮忙。
发布于 2015-05-25 22:12:50
所以@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
endhttps://stackoverflow.com/questions/30446119
复制相似问题