繁体   English   中英

Rails 4-渲染控制器变量

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM