2014-10-04 70 views
0

我正在开发一个简单的应用程序,我想绘制一些股票图表。问题是,当我启动我的服务器并加载本地主机时,默认值/代码符号不会被加载,这意味着我必须在我的表单中输入代码才能使其工作。以文本形式提交默认值Ruby on Rails

我发现this thread在那里我学会了如何在我的表格/视图写一个默认值,比如:

<%= form_for :find_it do |f| %> 
Ticker symbol: <%= f.text_field :string, :value => "JPM" %></br> 
<%= f.submit "Find" %> 
<% end %> 

,这一切很好,但它默认情况下不提交值。

那么我该如何去解决这个问题,以及最佳实践是什么?

+0

应当提交该值......那么你的参数看起来像在提交? – JTG 2014-10-04 13:26:31

+0

另外,是'find_it'真的'string'的属性?或者你把它的类型而不是它的名字? – JTG 2014-10-04 13:30:28

+0

所以这可能是问题所在。我需要像这样写吗?代码符号:<%= f.text_field:find_it,:value =>“JPM”,:cols =>“10”,:rows =>“1”%>
ljnissen 2014-10-04 13:34:11

回答

0

在您的输入字段中,您已将您的属性列为string,而这是类型,它很可能不是您想要保存的属性的实际名称“JPM”。所以,你应该改变

<%= f.text_field :string, :value => "JPM" %> 

<%= f.text_field :attribute_name, :value => "JPM" %> 
0

如果我将表单复制并粘贴到我机器上的Rails应用程序中,它会显示一个填充了“JPM”的文本字段,我相信这是正确的。

当你点击提交表单将发布到create行动包含PARAMS:

"find_it"=>{ 
    "string"=>"JPM" 
} 

我注意到另一件事是,你必须f.text_field :string。这应该是你的属性的名称,而不是类型(我假设你没有一个称为字符串的字段)。