首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails 4-呈现控制器变量

Rails 4-呈现控制器变量
EN

Stack Overflow用户
提问于 2015-05-25 21:17:42
回答 1查看 37关注 0票数 0

我是一个Rails新手,这似乎是一件微不足道的事情,但我不知道如何呈现它。

我有一个接受字符串输入的表单:

代码语言:javascript
复制
<%= form_for @idea do |f| %>
  <div>
    <%= f.label :idea_list %>
    <%= f.text_field :idea_list %>
  </div>
  <%= f.submit %>
<% end %>

和一个控制器:

代码语言:javascript
复制
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参数,但无法知道如何实现。我试过:

代码语言:javascript
复制
<p><%= @idea %></p>

但是我得到了#<Idea:0x007f8b16d98638>的输出。

代码语言:javascript
复制
<% @idea do |idea| %>
  <p><%= idea.idea_list %></p>
<% end %>

我尝试过很多不同的方法,但是不断地出现各种错误。

请帮帮忙。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-25 22:12:50

所以@idea是一个对象的实例。idea_list是一个属性。所以你需要打电话给@idea.idea_list。每当您想要从控制器引用对象/模型的实例时,它都会转到@instance.attribute

在你的情况下,它将是

代码语言:javascript
复制
<p><%= @idea.idea_list %></p>

如果您想从所有的列表中显示它们,那么在您的视图中

代码语言:javascript
复制
<%@ideas.each do |idea| %>
  <p><% idea.idea_list%></p>
<% end%>

在你的控制器里

代码语言:javascript
复制
def index 
  @ideas = Idea.all
end
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30446119

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档