在Rails中从我的模型打印数据的正确方法是什么?

时间:2018-04-23 13:56:38

标签: ruby-on-rails forms

在我的控制器中,我有:

def show
  @adjuster = Adjuster.find(params[:id])
end

form_for让我打印数据,但我不想使用它,因为它在某些方面受到限制。我want使用常规form方法。

我试过了:

 <%= form_for (@adjuster) do |f| %>
  <div class="row">
    <div class="large-4 columns">
      <b>Adjuster Name</b></br>
        <%= @adjuster.adjuster_name %>
     </div>
    </div>

我收到错误说:

@adjuster is empty

1 个答案:

答案 0 :(得分:1)

我刚测试了这段代码(只是复制和粘贴),它完全没问题,我似乎没有错,工作得很好。我相信您的代码没有显示任何错误,只是让adjuster_name列有一个值,我认为adjuster_name的值为空。

我只是将column_name更改为我自己的adjuster_name,看起来生成的HTML就像这样

<form class="edit_adjuster" id="edit_adjuster_20" action="/adjusters/20" accept-charset="UTF-8" method="post">
    <input name="utf8" type="hidden" value="✓">
    <input type="hidden" name="_method" value="patch">
    <input type="hidden" name="authenticity_token" value="q/DPVxBU5gU5Gc1McT3USYRu21P6YBKeTfnwpOILO3xOAxKu25XqWJavy5alRxD1wMSVrtXCvb9l5ttsWzskAw==">
    <div class="row">
        <div class="large-4 columns">
            <b>Adjuster Name</b><br>
            Adjuster Name
        </div>
    </div>
</form>

这意味着代码完全正常

<%= form_for(@adjuster) do |f| %> #=> or <%= form_for (@adjuster) do |f| %>
    <div class="row">
        <div class="large-4 columns">
            <b>Adjuster Name</b></br>
            <%= @adjuster.adjuster_name %>
        </div>
    </div>
<% end %>

#=> controller
def show
  @adjuster = Adjuster.find(params[:id])
end